我正在运行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约束来确保该属性的计算正确。 –