I want to use a column called type
without invoking Single Table Inheritance (STI) - I just want type
to be a normal column that holds a String
.
How can I do this without having Rails expecting me to have single table inheritance and throwing an exception of The single-table inheritance mechanism failed to locate the subclass...This error is raised because the column 'type' is reserved for storing the class in case of inheritance.
?
Any ideas on how to do this?
In Rails 3.1 set_inheritance_column
is deprecated, also you can just use nil
as a name, like this:
class Pancakes < ActiveRecord::Base self.inheritance_column = nil #... end
You can override the STI column name using set_inheritance_column
:
class Pancakes < ActiveRecord::Base set_inheritance_column 'something_you_will_not_use' #... end
So pick some column name that you won't use for anything and feed that to set_inheritance_column
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With