我正在運行Rails 4.2.4。在INSERT或UPDATE時,模型中的一個屬性被數據庫(PostgreSQL 9.3)計算和存儲。我想知道,除了在activerecord創建和更新之後調用「reload」方法之外,是否可以讓它們自動返回計算屬性的值?我看到create將RETURNING「id」添加到它的SQL語句中。如何添加RETURNING「my_calculated_attribute」以及語句?Rails 4:activerecord創建並更新返回值?
在每次創建或更新之後,如果沒有「重新加載」查詢將會很棒。
在此先感謝。
我很確定'reload'是您唯一的選擇。 –
我的挖掘得出了相同的結論 - 我希望這是錯誤的。爲了避免額外的'reload'查詢,我可能只需要將計算移到activerecord回調中。 – builder
只要您的Rails應用程序不會觸及數據庫,就會工作。你可以添加一個CHECK約束來確保該屬性的計算正確。 –