【发布时间】:2015-10-28 14:42:50
【问题描述】:
在 Rails 中,您是否能够通过对 SQL 函数的评估来更新记录的属性?
MySQL 表
| time_started | time_to_execute |
|---------------------------------------|
| 2015-10-28 14:13:58 | NULL |
我想做什么:
update table set time_to_execute = TIME_TO_SEC(TIMEDIFF(NOW(), time_started))
通过模型。
我尝试过使用常见的属性更新方法来做到这一点,但无济于事。
c.update_attribute(:time_to_execute, 'TIME_TO_SEC(TIMEDIFF(NOW(), time_started))')
c.update({:time_to_execute => 'TIME_TO_SEC(TIMEDIFF(NOW(), time_started))'})
是否可以使用 SQL 函数更新 ActiveRecord 模型的属性?
我知道我可以通过执行任意 SQL 或计算两个 DateTime ruby 对象之间的差异来完成此操作,但我想知道这是否可以通过模型方法实现。
【问题讨论】:
标签: mysql ruby-on-rails ruby ruby-on-rails-4