データベースに実際の列が1つあるモデルがあります。この列は、構成のJSON文字列として保存されます。この構成JSON属性内にマップしたい一連の仮想属性を使用します。基本的に、dbに多数の列を作成するのではなく、この1つのJSON属性を使用してすべてを含めます。def
これを達成するための以下の方法よりもクリーンな方法はありますか?
class Device < ActiveRecord::Base
attr_accessible :configuration
serialize :configuration, JSON
attr_accessor :background_color, :title
# below is ew
def background_color; self.configuration["background_color"]; end
def background_color=(value); self.configuration["background_color"] = value; end
def title; self.configuration["title"]; end
def title=(value); self.configuration["title"] = value; end
end
理想的には、のようなものを探していますattr_maps_to_hash :configuration, [:background_color, :title]
。このようなものはありますか?