ruby-on-rails - f.fields_for rails 中的 has_many 关系

标签 ruby-on-rails

我有一个有很多答案的评估模型。我正在尝试构建我的 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/

相关文章:

ruby-on-rails - 从 ActiveRecord 模型中删除属性

ruby-on-rails - 如何按升序对 ruby​​ 数组进行排序但最后保持零

ruby-on-rails - 回形针-保存文件后运行方法?

ruby-on-rails - 从原始 sql 查询返回哈希

ruby-on-rails - Rails : Act_as_taggable_on vs. Rocket_tag

ruby-on-rails - 如何为生产环境运行docker compose

ruby-on-rails - 如何通过rails中的标题传递不记名 token ?

html - Rails 4 - 导出整个 html 页面以供下载

ruby-on-rails - Ruby 占用 99.3% CPU

ruby-on-rails - 在 Rails 5 中删除模型时如何删除模型的所有关联