Pet*_*own 5 ruby casting ruby-on-rails ruby-on-rails-3.2
有没有办法自动对使用ActiveRecord :: Base.store存储的值进行类型转换?
拿这个完全不切实际的例子:
class User < ActiveRecord::Base
store :settings, accessors: [ :age ]
end
user = User.new(age: '10')
user.age # => '10'
Run Code Online (Sandbox Code Playgroud)
我知道我可以覆盖年龄的读取器方法将其转换为整数,但我很好奇是否有一种无证的方法.
试图避免这种情况:
class User < ActiveRecord::Base
store :settings, accessors: [ :age ]
def age
settings[:age].to_i
end
end
user = User.new(age: '10')
user.age # => 10
Run Code Online (Sandbox Code Playgroud)
更新
寻找类似的东西:
class User < ActiveRecord::Base
store :settings, accessors: {:age => :to_i}
end
Run Code Online (Sandbox Code Playgroud)
要么:
class User < ActiveRecord::Base
store :settings, accessors: {:age => Integer}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |