我有一个包含 start_at 和 ends_at 的事件表。它也有一个布尔值用于全天。
如果事件是全天,则用户输入一个名为小时的字段。但是,如果他们输入 start_at 和 ends_at,我想计算并保存在小时字段中。
英语(不是 Ruby):
If event.allday = > true
hours = ends_at - starts_at
这样,我就不必在我拥有的所有不同显示页面中计算它,并且更容易求和。
或者——这个逻辑会进入模型吗?
谢谢!
更新 - - - - - -
我尝试将其放入模型中:
before_save :calculate_hours
def calculate_hours
if self.allday != true
self.hours = ((self.ends_at - self.starts_at)/ 3600).to_f.round(2)
end
end