quinta-feira, 7 de maio de 2009

ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate the subclass: 'type'

Usando uma tabela que já existia, ao fazer a ligação com o Rails tive esse problema causado por existir uma coluna 'type' que não era String e nem referenciava nada pois não era usada como herança era um banco que rodava com outra aplicação.

Gerou o seguinte erro:

"ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate
the subclass: 'minhatabela'. This error is raised because the column 'type' is reserved for
storing the class in case of inheritance. Please rename this column if you didn't intend
it to be used for storing the inheritance class or overwrite MeuModel.inheritance_column
to use another column for that information."

Bastou alterar o nome da coluna usada para indicar a herança no model:

class MeuModel <>
set_inheritance_column :ruby_type
.
.
.
end

Onde :ruby_type pode ser qualquer nome como "coluna_heranca", etc.

Nenhum comentário:

Postar um comentário