ruby-on-railsruby-on-rails-3single-table-inheritance

Rails -- use type column without STI?


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?


Solution

  • 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