Я пытаюсь следовать рекомендациям по вложенным атрибутам, управляемым mongoid.
У меня есть модель проектирования, которая встраивает структуру структуры, и я пытаюсь обновить ее с помощью следующей формы:
<%= form_for @design do |f| %>
<%= f.fields_for :structure do |s| %>
<%= s.text_field :navigation %>
<% end %>
<%= default_submit %>
<% end %>
Метод обновления в моем контроллере выглядит следующим образом:
def update
# @design loaded by CANCAN
flash[:notice] = t('flash.updated') if @design.update_attributes(params[:design])
respond_with @design
end
Похоже, что если я не укажу accepts_nested_attributes_for: структуру в модели Design, форма не будет правильно инициализирована (со значением поля навигации) или обновлена.
Но если я буду следовать рекомендациям mongoid (описанным здесь http://mongoid.org/docs/relations/nested_attributes.html), это не должно потребоваться для встроенных документов (в данном случае это структура). Не большая проблема, но модель дизайна будет выглядеть DRYer без этогоacceptpts_nested_attributes_for для объявления.