【发布时间】:2011-09-20 14:39:20
【问题描述】:
我正在尝试在 Ruby 中完成以下任务:
person_struct = StructWithType.new "Person",
:name => String,
:age => Fixnum,
:money_into_bank_account => Float
我希望它同时接受:
person_struct.new "Some Name",10,100000.0
和
person_struct.new "Some Name","10","100000.0"
也就是说,我希望它自动进行数据转换。
我知道 Ruby 是动态的,我不应该关心数据类型,但这种转换会很方便。
我要问的是类似于 ActiveRecord 已经做过的事情:将字符串转换为表列中定义的数据类型。
在搜索 ActiveModel 后,我无法弄清楚如何使用一些 TableLess 进行这种转换。
毕竟我认为我的问题可能需要 ActiveModel 模块提供的更少。
当然我可以自己实现一个类来呈现这种转换功能,但我宁愿知道这还没有完成,以免重新发明轮子。
Tks 提前。
【问题讨论】:
-
Virtus gem 完全符合我的要求。
标签: ruby-on-rails ruby activerecord struct activemodel