ruby-on-rails – 嵌套形式触发“无法质量分配受保护的属性警告”

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 嵌套形式触发“无法质量分配受保护的属性警告”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个多层嵌套表单
User->Tasks->Prerequisites 

并以相同的形式

User->Tasks->Location

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

当我提交表单时,我在输出中收到以下错误

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>

有什么建议么?

解决方法

添加:prerequisite_attributes to attr_accessible以进行质量分配

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

应该让你开始

猜你在找的Ruby相关文章