Дарите две модели, с has_one
ассоциации:has_one отношение автоматически устанавливается ноль, если более чем один
class ShopInfo
belongs_to :shop
end
class Shop
has_one :shop_info
end
s = Shop.create
ss1 = s.create_shop_info
В каком-то другом месте моего кода я
ss2 = s.create_shop_info
После этого SS1. shop_id установлен на nil, поэтому ss1 теперь является сиротой.
Есть ли способ удалить предыдущие записи вместо того, чтобы установить их в нуль?
Почему не обновлять предыдущую shop_info запись, а не создать новую? – Joeyjoejoe
Я пытаюсь запретить другим разработчикам создавать сиротские записи, выполняющие этот вызов. Я мог бы это сделать для изолированного решения, но я не буду препятствовать этому поведению для других разработчиков в будущем коде. –