我有一个多层嵌套表单
User->Tasks->Prerequisites
以相同的形式
User->Tasks->Location
位置表单工作正常,现在我正在尝试为当前任务指定先决条件。先决条件是存储在:completed_task字段中的task_id。
当我提交表单时,我在输出中出现以下错误
WARNING: Can't mass-assign protected attributes: prerequisite_attributes
用户每个任务的一个警告。
我已经完成了与此相关的所有其他问题,确保正确引用字段名称:completed_task,
将attr_accessible添加到我的模型中(它已经存在并且我扩展了它)。
我不确定我应该做什么。
我的模特看起来像
class Task < ActiveRecord::Base attr_accessible :user_id, :date, :description, :location_id belongs_to :user has_one :location accepts_nested_attributes_for :location has_many :prerequisites accepts_nested_attributes_for :prerequisites end class Prerequisite < ActiveRecord::Base attr_accessible :completed_task belongs_to :task end
表单使用formtastic,我通过
包含表单<%= f.semantic_fields_for :prerequisites do |builder3| %> <%= render 'prerequisite_fields', :f=>builder3 %> <% end %> --- _prerequisite_fields.html.erb ----- < div class="nested-fields" > <%= f. inputs:completed_step %> </div>
有什么建议吗?
答案 0 :(得分:26)
将atlastquisite_attributes添加到attr_accessible以进行质量分配
attr_accessible :user_id, :date, :description, :location_id, :prerequisite_attributes
应该让你开始。