15

我有一个多层嵌套表格

用户->任务->先决条件 

并以相同的形式

用户->任务->位置

位置表单工作正常,现在我正在尝试指定当前任务的先决条件。先决条件是存储在 :completed_task 字段中的 task_id。

当我提交表单时,输出中出现以下错误

警告:无法批量分配受保护的属性:prerequisite_attributes

用户中的每个任务都有一个警告。

我已经完成了与此相关的所有其他问题,确保正确引用了字段名称 :completed_task,

将 attr_accessible 添加到我的模型中(它已经存在并且我对其进行了扩展)。

我不确定我还应该做什么。

我的模型看起来像

类任务 < ActiveRecord::Base
     attr_accessible :user_id, :date, :description, :location_id

     属于_to:用户
     has_one :位置
     接受嵌套属性:位置
     has_many :先决条件
     accept_nested_attributes_for :先决条件
结尾

类先决条件 < ActiveRecord::Base
     attr_accessible :completed_task

     属于_to:任务
结尾

表格使用了formtastic,我通过

<%= f.semantic_fields_for :先决条件做 |builder3| %>
    <%= 渲染 'prerequisite_fields', :f=>builder3 %>
<% 结束 %>

--- _prerequisite_fields.html.erb -----
<div class="nested-fields" >
   <%= f。输入:完成步骤 %>
</div>

有什么建议么?

4

1 回答 1

26

将 :prerequisite_attributes 添加到 attr_accessible 以便批量分配

attr_accessible :user_id, :date, :description, :location_id, :prerequisite_attributes

应该让你开始。

于 2011-02-18T03:56:30.977 回答