Есть ли лучший способ написания этого кода? Это просто не устраивает меня, я чувствую, что есть что-то действительно «похожее на рельсы», о котором я уже должен знать:
belongs_to :parent_in_use
belongs_to :parent_template
def after_create
new_parent_in_use = ParentInUse.create!(self.parent_template.attributes)
self.update_attribute(:parent_in_use_id, new_parent_in_use.id)
end
После создания записи я беру выбранный родительский шаблон и создаю на его основе запись parent_in_use
. Таким образом шаблон может измениться, и запись in_use будет жить с моим объектом навсегда. Классы ParentInUse и ParentTemplate наследуются от Parent с использованием STI.
Я уверен, что это должно быть достаточно просто, но я не знаю, как это сделать, в основном я хотел бы создать и назначить запись за одну операцию.