ただいま、Ruby on Rails5 アプリケーションプログラミングを読みながら勉強しております。
ですが、4.1.9章の選択ボックスの選択肢をグループ化するというところで躓いてしまいました。
grouped_collection_select メソッドを用いてデータベースの情報からグループ化された選択肢を表示するプログラムを作ろうとしています。
エラーメッセージはこちらになります。
NoMethodError in View#group_select Showing app/views/view/group_select.html.erb where line #3 raised: undefined method `books' for #<Author:0x007fba9b896c20> Extracted source (around line #3): <%= form_for(@review) do |f| %> レビュー対象書籍: <%= f.grouped_collection_select :book_id, @authors, :books, :name, :id, :title %> <% end %>
下に関係がありそうな部分のコードを載せます。
lang
1#config/routes.rb 2Rails.application.routes.draw do 3 resources :fan_comments 4 resources :reviews 5 resources :authors 6 resources :users 7 resources :books 8 ・・・中略・・・ 9 get 'view/group_select' 10end
lang
1#app/models/author.rb 2class Author < ApplicationRecord 3 belongs_to :user 4end
lang
1#app/models/review.rb 2class Review < ApplicationRecord 3 belongs_to :book 4 belongs_to :user 5end
lang
1#app/models/book.rb 2class Book < ApplicationRecord 3end
lang
1#app/models/user.rb 2class User < ApplicationRecord 3end
lang
1#app/controllers/view_controller.rb 2def group_select 3 @review = Review.new 4 @authors = Author.all 5 end
lang
1#app/views/view/group_select.html.erb 2<%= form_for(@review) do |f| %> 3 レビュー対象書籍: 4 <%= f.grouped_collection_select :book_id, @authors, :books, :name, :id, :title %> 5<% end %>
サンプルのコードと全て一致していることは確認したのですが、他に何か間違えている箇所があるのでしょうか?
何か心当たりがありましたら、教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/16 08:19
2017/06/16 09:12 編集
2017/06/16 12:40