如何转换用户输入小时,分钟,秒

时间:2009-09-15 02:03:42

标签: ruby-on-rails

在我的模型中,我有一个属性“duration”(秒为整数)但是视图new / edit的输入为:hours,minutes,seconds。

我应该在模型中(attr_accessor:小时,:分钟,:秒)然后如何将这些虚拟属性转换为我的“持续时间”属性,来自Java我有“持续时间”的setter / getter!< / p>

1 个答案:

答案 0 :(得分:6)

您可以设置before_save过滤器,根据虚拟加速器的值(小时,分钟和秒)计算它的值。类似的东西:

class Model << AR:Base

  attr_accessor :hours, :minutes, :seconds
  before_save :update_duration

  def update_duration
     duration = = hours*3600 + minutes*60 + secods
  end

end

这有点粗糙,但应该让你知道它是如何工作的。无论何时在模型上调用“save”方法(在创建或更新操作上),都会在访问BD之前调用过滤器,更新它的值,然后继续正确保存。