2014-03-03 112 views
1

我使用带有属性:from:to,我希望它表现为如下的模型加载ActiveModel一个DateRange列datetime类型..

加载ActiveModel:模仿

d = DateRange.new 
=> #<DateRange:0x0000010532d3f8> 
    d.from = "03/03/2010" 
=> Wed, 03 Mar 2010 
    d.to = Date.today 
=> Mon, 3 Mar 2014 

换句话说,每当属性设置,如果它是字符串格式,它应该被解析成日期格式。
是否有一个ActiveModel回调函数,它会在属性更改时立即运行?如果没有,那么做到这一点最好的做法是什么?

回答

1

你不需要任何回调,你需要的是定制的setter方法:

class DateRange 
    attr_reader :from, :to 

    def from=(value) 
    # implementation 
    end 

    def to=(value) 
    # implementation 
    end 
end 
+0

正是我一直在寻找。谢谢 –

相关问题