我有Purchase
has_one :shipping_address
。
在我的一种方法中,我有这个:
@shipping_address ||= purchase.build_shipping_address(
first_name: shipping_address_first_name,
...
)
但是,我想抓住附加到购买的现有shipping_address(如果它存在),而不是总是创建一个新的替换(我相信删除旧的替换并在数据库中创建一个新替换。)
有没有办法在Rails中执行purchase.first_or_build_shipping_address(...)
?
答案 0 :(得分:2)
试试这个:
@shipping_address || = purchase.shipping_address || purchase.build_shipping_address
只要第一个返回nil,你就会创建一个新的。