ここでは、次のモデルに対して複数クラスの継承モデルを設定する必要があります。基本的に、拡張可能な連絡先ディレクトリを構築しています。基本クラス Contact から、他のクラス、つまり次のようなものを派生させるつもりです。
class Contact
# the super class
attr_accessible :name, :about
end
class Person < Contact
attr_accessible :first_name, last_name, :description, :works_for_company_id
end
class Company < Contact
attr_accessible :company_name, :location, :services
end
各モデルは異なるテーブルに対応しています - 親クラスと子クラスの間に has_one belongs_to 関係があると思いますが、それを少し楽にする宝石があるかどうか疑問に思っていました. または、自分でそれをしなければならない場合、実際にどのようにそれを達成しますか.
たとえば、contact.name は実際には、個人の場合は person.first_name+' '+person.last_name、会社の場合は company.company_name です。これを正しく行うには、データベースと関連付けをどのように構成すればよいですか?