はじめに 調べ物をしていたら、複数カラムをバリューオブジェクトに構成することで仮想的に一つのカラムとして扱う、composed_ofなるものを見つけたので備忘録します。 住所-よくあるパターン class User attr_accessor :city_address, :town_address, :building_address def address city_address + town_address + building_address end end attr_accessorの部分は実際にはカラムになってると思ってください。 上のパターンにはいくつかの問題があります。 addressのような整形用メソッドがモデルを汚してしまう 本来意味を持つのはaddressなのに、メソッドで返ってくるのは単なる文字列 一旦addressを取得しても、そこからcity_addressを