0
在我的Rails應用4我有兩個模型:如何僅在相關記錄存在時更新相關記錄?
class Invoice < ActiveRecord::Base
has_one :sender
before_save :save_sender
private
def save_sender
if sender.present?
sender.update_attributes(user.profile.sender_fields)
else
build_sender(user.profile.sender_fields)
end
end
end
class Sender < ActiveRecord::Base
belongs_to :invoice
end
基本上,每個invoice
有sender
。創建發票後,應自動創建發件人記錄。如果發票是已更新(而不是已創建),則應簡單更新發件人記錄。
我上面的代碼工作。但是,有沒有更簡潔的方法來做到這一點?像create_or_update?
感謝您的任何幫助。