вложенная форма, вызывающая предупреждение «Не удается массово назначить защищенные атрибуты - PullRequest
15 голосов
/ 18 февраля 2011

У меня есть многослойная вложенная форма

User->Tasks->Prerequisites 

и в той же форме

User->Tasks->Location

Форма местоположения работает нормально, сейчас я пытаюсь указать предварительные условия длятекущая задача.Обязательным условием является идентификатор_задачи, хранящийся в поле: complete_task.

Когда я отправляю форму, я получаю следующую ошибку в выводе

WARNING: Can't mass-assign protected attributes: prerequisite_attributes

Одно предупреждение для каждой задачи пользователя.

Я прошел через вседругие вопросы, связанные с этим, гарантирующие правильную ссылку на имя поля: complete_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>

Есть предложения?

1 Ответ

26 голосов
/ 18 февраля 2011

Добавить: prerequisite_attributes к attr_accessible для массового присвоения

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

Должны ли вы начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...