Mongoid - Обновление вложенных атрибутов - PullRequest
0 голосов
/ 06 февраля 2012

Из документов mongoid:

Рассмотрим члена, который имеет несколько сообщений:

В класс входит Mongoid :: Document has_many: posts
acceptpts_nested_attributes_for: posts end

Теперь вы можете устанавливать или обновлять атрибуты в связанной модели поста с помощью хеша атрибута.

Для каждого хеша, у которого нет ключа идентификатора, будет создана новая запись, кроме случаев, когда хеш такжесодержит ключ _destroy, значение которого равно true.

params = {member: {name: "joe", posts_attributes: [{title: "Кари, потрясающий браузер документации по Ruby!"}, {title: "Эгалитарное предположение ..."}, {title: "", _destroy: "1"} # это будет игнорироваться]}}

member = Member.create (params ['member ']) member.posts.length # => 2 member.posts.first.title # =>' Кари, потрясающий браузер документации по Ruby! 'member.posts.second.title # => 'Равное предположение ...'

Есть ли способ обновить вложенные атрибуты вместо , создав их?

1 Ответ

1 голос
/ 11 мая 2012

Опирается на вложенные документы, имеющие идентификаторы.

Например, в форме Rails соответствующие поля атрибутов (в вашем случае posts_attributes) будут переданы как часть формы.Затем Rails обновляет элементы с идентификатором и создает для них без идентификатора.

...