Ruby on rails Rails:多层问题有很多未定义的方法

Ruby on rails Rails:多层问题有很多未定义的方法,ruby-on-rails,has-many,belongs-to,Ruby On Rails,Has Many,Belongs To,我得到了一个未定义的方法“答案”错误:@survey.questions.answers 只要运行@survey.questions就可以了 以下是我的模型设置: class Survey < ActiveRecord::Base has_many :questions accepts_nested_attributes_for :questions, :reject_if => lambda { |a| a[:text].blank? }, :allow_destroy

我得到了一个
未定义的方法“答案”
错误:
@survey.questions.answers

只要运行
@survey.questions
就可以了

以下是我的模型设置:

class Survey < ActiveRecord::Base
  has_many :questions

  accepts_nested_attributes_for :questions, :reject_if => lambda { |a| a[:text].blank? }, :allow_destroy => true
end

class Question < ActiveRecord::Base
  belongs_to :survey
  has_many :answers

  accepts_nested_attributes_for :answers, :reject_if => lambda { |a| a[:text].blank? }, :allow_destroy => true
end

class Answer < ActiveRecord::Base
  belongs_to :question
  has_many :responses
end

@survey.questions
是一组问题

尝试
@调查。问题。首先。答案

当然,在您看来,您可以:

<% @survey.questions.each do |question| %>
  <%= question.title %>
  <% question.answers.each do |answer| %>
    <%= answer.title %>
  <% end %>
<% end %>

<% @survey.questions.each do |question| %>
  <%= question.title %>
  <% question.answers.each do |answer| %>
    <%= answer.title %>
  <% end %>
<% end %>
@survey.questions.map(&:answers)