ユーザー、質問、回答のモデルがあります。
ユーザーhas_many :questions
とhas_many :answers
質問has_many :answers
とbelongs_to :user, :foreign_key => "user_id"
答えbelongs_to :question, :foreign_key => "question_id"
てbelongs_to :user, :foreign_key => "user_id"
コンソールの場合:
>> Question.find(2).answers.each{|a| p a.user.name}
=> "example user"
ビューで:
- @question.answers.each do |a|
= a.user.name
ただし、ビューはundefined method 'name' for nil:NilClass
コントローラー内:
@question = Question.find(params[:id])
idパラメータは2です
ビューをに切り替えると
Question.find(2).answers.each do |a|
= a.user.name
その後、ビューが正しく表示されます。
ここで何が起こっているのですか?