В настоящее время я использую массовое присвоение вложенных моделей на одной из моих моделей. Это работает, однако я хотел бы быть в состоянии гарантировать, что любые вложенные модели, созданные «принадлежат» одному и тому же пользователю.
Мне удалось реализовать это, используя псевдоним метода с:
def contact_attributes_with_user_id=(attributes)
self.contact_attributes_without_user_id = attributes.merge( "user_id" => user_id )
end
alias_method_chain :contact_attributes=, :user_id
Теперь это работает нормально, но это означает, что у меня больше не может быть защиты атрибутов для user_id для контакта - что может легко поймать кого-то в будущем.
Может кто-нибудь придумает лучший способ?