Да, каждый раз, когда вы таким образом вкладываете ресурсы в форму, вы передаете параметры в виде хэша resource_attributes. Это по определению массовое назначение, поэтому вы должны включить его в attr_accessible.
я есть многослойная вложенная форма
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>
Какие-либо предложения?