我正在运行Rails 3.2.17(也尝试使用3.2.22)。 我在模型中序列化ruby Range时遇到了麻烦:
class MyModel < ActiveRecord::Base
attr_accessible :my_column
serialize :my_column, Range
end
当我尝试创建这样的记录时:
MyModel.create()
# Or like this
MyModel.create({my_column: (0..2)})
我有这个错误:
ArgumentError: wrong number of arguments (0 for 2..3)
我该如何解决这个问题?
修改
我找到了这样的方式:
class MyModel < ActiveRecord::Base
attr_accessible :my_column
# NO MORE SERIALIZE
def my_column=(val)
self[:my_column] = YAML.dump(val)
end
def my_column
YAML.load(super || YAML.dump(nil))
end
end