【发布时间】:2023-03-14 17:44:01
【问题描述】:
我们想在 Rails4 应用程序中使用Whole Value pattern。
我们知道在Rails5中,如果我们想让OurModel为属性NameType使用自定义的整值类型:name,我们可以像这样定义自定义类型:
class NameType < ActiveModel::Type::Value
def cast(value)
Name(value)
end
def serialize(value)
value.to_s
end
end
然后在OurClass
class OurClass < ApplicationRecord
attribute :name, NameType.new
...
end
在将模型保存到数据库时为我们提供完全透明的序列化,并在从数据库或手动创建模型时转换为全值类型(这在RubyTapas episode 中进行了描述,仅限订阅者)。
在 Rails 4 中可以实现类似的优雅吗?如果有,怎么做?
【问题讨论】:
-
如果你尝试同样的事情,你会发现什么? (即症结在哪里)(注意:我对此完全不熟悉,因此向我们展示差异可以帮助我们帮助您找到解决方案)
标签: ruby-on-rails ruby-on-rails-4 activerecord ruby-on-rails-5