是否有一種方法可以自動使用ActiveRecord :: Base.store存儲的類型轉換值?ActiveRecord :: Base.store自動類型轉換
拿這個完全不切實際例如:
class User < ActiveRecord::Base
store :settings, accessors: [ :age ]
end
user = User.new(age: '10')
user.age # => '10'
我知道我可以只重寫方法讀者年齡將其轉換爲整數,但我很好奇,如果有這樣做的一個未公開的方式。
試圖避免這種情況:
class User < ActiveRecord::Base
store :settings, accessors: [ :age ]
def age
settings[:age].to_i
end
end
user = User.new(age: '10')
user.age # => 10
更新
尋找類似:
class User < ActiveRecord::Base
store :settings, accessors: {:age => :to_i}
end
或者:
class User < ActiveRecord::Base
store :settings, accessors: {:age => Integer}
end
感謝您的回覆,但這不是我正在尋找的。我希望DSL方法內置了一些內容,可以讓我設置默認值。 – 2012-07-21 01:15:03
我認爲這是違背了散列點,你可以把任何東西放入...但看看周圍n祝你好運 – AJcodez 2012-07-21 02:32:51
同意,這是一個完全濫用ActiveRecord和關係數據庫。我猜想這更多是好奇心。 – 2012-07-21 02:54:18