I have created few models which are shown below. Base models are TransactionType and TransactionItem ExpenseType and IncomeType derives from TransactionType. Expense and Income derives from TransactionItem. class TransactionType < ActiveRecord::Base scope :expense_types, -> { where(tran_type: 'ExpenseType') } scope :income_types, -> { where(tran_type: 'IncomeType') } self.inheritance_column = "tran_type" validates :name, uniqueness: true end class ExpenseType < TransactionType end class IncomeType < TransactionType end class TransactionItem < ActiveRecord::Base validates :note, length: { in: 2..255 } end class Expense < TransactionItem belongs_to :expense_type validates :expense_type, presence: true end class Income < TransactionItem belongs_to :income_type validates :income_type, presence: true end I can create objects for ExpenseType. But, it throws error when Expense or Income object created. <code> ExpenseType.new(:name => "Grocceries").save! ExpenseType.new(:name => "Travel").save! IncomeType.new(:name => "Salary").save! IncomeType.new(:name => "Bonus").save! Expense.new(:note => "a soda", :expense_type => ExpenseType.first) 2.1.2 :006 > Expense.new(:note => "a soda", :expense_type => ExpenseType.first) ExpenseType Load (0.1ms) SELECT "transaction_types".* FROM "transaction_types" WHERE "transaction_types"."tran_type" IN ('ExpenseType') ORDER BY "transaction_types"."id" ASC LIMIT 1 ActiveModel::MissingAttributeError: can't write unknown attribute `expense_type_id' from It would be great if someone shares your idea for solving this. Thanks, Masc -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/2b38adfa905ee482966f32cfd6f44245%40ruby-forum.com. For more options, visit https://groups.google.com/d/optout.