По умолчанию автоматически сохраняются только новые записи ассоциации. Вам нужно включить механизм автосохранения, передав опцию в ассоциацию, см. https://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html.
class Parent
has_many :children, autosave: true
end
Обратите внимание, что это работает только в одну сторону, если вы хотите, чтобы родитель был сохранено, когда вы сохраняете ребенка, вам нужно обратное
class Child
belongs_to: parent, autosave: true
end
Это работает только до тех пор, пока Rails знает, что вы работаете с ассоциацией. Вызов @parent.childs.last
возвращает вам простой экземпляр класса Child
. Так что вам нужно явно сохранить его.