ActiveRecord モデルにシリアル化されたデータがあり、特定の属性を委任したいと考えています。このようなもの:
class Object < AR::Base
serialize :data
delegate :title, to: :data
end
しかしもちろん、これはハッシュでは機能しません。他の方法はありますか?
最終的に欲しいのはこれです。ActiveRecord モデルにシンボルのリストを与えます。
[ :title, :size, :color ]
それらは次のようにゲッターとセッターに変換されます。
def title
data[:title]
end
def title=(val)
data[:title]= val
end
そして、それらは残りの AR 属性の横に表示されます。
#<Model id: 21, title: "Foo", size: 4, color: nil>