我有一个多层嵌套表单
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,我包括表格via
<%= 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>
有什么建议?
1 回答
将:prerequisite_attributes添加到attr_accessible以进行批量分配
attr_accessible :user_id, :date, :description, :location_id, :prerequisite_attributes
应该让你开始 .