Имеет много отношений в рельсах - PullRequest
1 голос
/ 07 июля 2010

У меня есть это отношение в приложении Rails

class Folder
  has_many :elements
end

class Element
  belongs_to :folder
end

Моя проблема в том, что этот код не работает

element = Element.first
a_folder.elements << element
element.save!
a_folder.save!

, но этот работает:

element.folder = a_folder
element.save!

Кто-нибудь может сказать мне, почему?

Спасибо.

1 Ответ

8 голосов
/ 07 июля 2010

Из документации Rails

Добавление объекта в коллекцию (has_many или has_and_belongs_to_many) автоматически сохраняет этот объект, за исключением случаев, когда родительский объект (владелец коллекции)еще не хранится в базе данных.

Так что, если @folder уже сохранено, то @folder.elements << @element должно работать.

Вы также можете добавить такие элементы:

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