2014-03-03 72 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

正是我一直在尋找。謝謝 –

相關問題