Ruby on Rails初心者です。
Ruby on Railsは「設定より規約(Conversion over Configuration)」という思想があります。
つまり、ファイル名、ファイルの配置場所、クラス名がとても重要になっています。
あなたの設定がわからなかったので自分で同じようなことをしてみました。
クラス名やファイルのパスに十分に注意してください。
Railsプロジェクトを作成
lang
1$ rails new record_project
Bookのモデルファイルとマイグレーションファイル(DBにテーブルを作成するファイル)を作成する。
$ rails g model Book name
invoke active_record
create db/migrate/20150101214634_create_books.rb
create app/models/book.rb
マイグレーションを実行する。booksテーブルが作成される。
$ rake db:migrate
== 20150101214634 CreateBooks: migrating ======================================
-- create_table(:books)
-> 0.0014s
== 20150101214634 CreateBooks: migrated (0.0014s) =============================
RecordControllerを作成する。コントローラーファイル内にfindというアクション(メソッド)を定義し、ルートにもfindを追加する。さらにfindというビューファイルを作成する。
$ rails g controller record find
create app/controllers/record_controller.rb
route get 'record/find'
invoke erb
create app/views/record
create app/views/record/find.html.erb
...
ルート定義ファイル:config/routes.rb
変更なし(上記のrails gコマンドで自動で作成される)
lang
1Rails.application.routes.draw do
2 get 'record/find'
3end
モデルファイル:app/models/book.rb
変更なし(上記のrails gコマンドで自動で作成される)
lang
1class Book < ActiveRecord::Base
2end
コントローラーファイル:app/controllers/record_controller.rb
ロジックを実装する
lang
1class RecordController < ApplicationController
2 def find
3 @books = Book.find([1,2,3])
4 render 'hello/list'
5 end
6end
7
ビューファイル:app/views/hello/list.html.erb
ビューで表示したい内容を記載する
lang
1<h1>hello/list.html.erb</h1>
2
3<ul>
4 <% @books.each do |book| %>
5 <li><%= book.name %>
6 <% end %>
7</ul>
8
レコードを3件登録する
$ rails console
irb(main):001:0> Book.create name: "book 1"
irb(main):002:0> Book.create name: "book 2"
irb(main):003:0> Book.create name: "book 3"
irb(main):004:0> exit
$ rails server でサーバーを起動し、localhost:3000/record/find にアクセスする
![イメージ説明]WIDTH:600
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/02 14:53