问题
I want to use Single Table Inheritance using a column other than type
. According to the Rails documentation - http://api.rubyonrails.org/classes/ActiveRecord/Base.html, I can do this by modifying ActiveRecord::Base.inheritance_column
. How can I do this?
回答1:
Try the following:
class MyModel < ActiveRecord::Base
self.inheritance_column = 'column_that_is_not_type'
end
Your migrations should work everywhere.
回答2:
@Vidya's answer is correct but a better way is:
class MyModel < ActiveRecord::Base
# disable STI
self.inheritance_column = :_type_disabled
end
来源:https://stackoverflow.com/questions/20294879/change-activerecordbase-inheritance-column-in-a-rails-app