我有一个有很多答案的评估模型。我正在尝试构建我的 f.fields_for 但出现错误:
"undefined method `content' for <Answer::ActiveRecord_Associations_CollectionProxy:0x007fdb12041fd8>"
看法:
<%= f.fields_for @answers do |builder| %>
<%= builder.text_area :content, :class=>"form-control question-field", :data => {:question => question.id} %>
<% end %>
Controller :
def edit
@assessment = current_user.assessments.find(params[:id])
@answers = @assessment.answers
end
我知道错误似乎是我在集合而不是单个对象上调用方法。但我不明白如何解决它。
最佳答案
如 f
是 @assassment
的 build 者, 你可以做:
<%= f.fields_for :answers do |builder| %>
<%= builder.text_area :content, :class=>"form-control question-field", :data => {:question => question.id} %>
<% end %>
您的
Assassement
中也需要这个模型:class Assasement < ActiveRecord::Base
has_many :answers
accepts_nested_attributes_for :answers
#...
end
关于ruby-on-rails - f.fields_for rails 中的 has_many 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30945966/