Я не могу найти ответ на этот вопрос здесь или в Google, любая помощь будет отличной.
Здание сохраняется правильно, но встроенный документ PriorityArea не обновляется ...
Я хочу, чтобы в конечном итоге он получил новую форму для новых приоритетных областей, но сначала нужно обновить ее.
Mongoid :: Ошибки :: InvalidFind в BuildingsController # update
Недопустимый вызов документа # find with nil
class Building
include Mongoid::Document
embeds_many :priority_areas
accepts_nested_attributes_for :priority_areas, :allow_destroy => true, :autosave => true
end
class PriorityArea
include Mongoid::Document
embedded_in :building, :inverse_of => :priority_areas
end
#view
= form_for [@customer, @building] do |f|
...
...
= f.fields_for :priority_areas do |pa|
= f.name
...
...
#controller
@building.update_attributes(params[:building])
Он правильно выдает правильные данные из базы данных, но не приводит к ошибке выше при сборке # update. Любая помощь с благодарностью.
обновление
в здании # обновление им
помещает параметры [: building] [: priority_areas_attributes] .to_yaml
что даёт
--- !map:ActiveSupport::HashWithIndifferentAccess
"0": !map:ActiveSupport::HashWithIndifferentAccess
name: area 51
location: near front door
notes: ""
priority: "1"
id: ""
"1": !map:ActiveSupport::HashWithIndifferentAccess
name: area 52
location: near rear door
notes: ""
priority: "2"
id: ""
я предполагаю, что проблема в нулевом идентификаторе: ""