Erro em herança com associação

Olá pessoal,

Estou trabalhando num projeto que terá muitos modelos e muitas associações entre os modelos, em vários modelos irei utilizar herança, com STI.

Estou com um problema na associação de modelos que não herdam diretamente do ActiveRecord::Base, as associações só funcionam se eu deixo explicito o nome da foreign key, achei estranho ter que declarar os modelos dessa forma.

Nos modelos abaixo, se não deixo explícito a foreign key, quando busco as categorias de um profissional, ocorre um erro na query, pois a busca é feita por profissional_id e não por pessoa_id, esse problema ocorre também na outra ponta, na categoria, se eu utilizar categoria,profissional.

Alguém tem alguma sugestão para implementar esses modelos corretamente ou o que fiz está correto?

class Pessoa < ActiveRecord::Base
end

class Profissional < Pessoa
has_many :categorias, :class_name => “Categoria”, :foreign_key => "pessoa_id"
end

class Categoria < ActiveRecord::Base
belongs_to :profissional, :class_name => “Profissional”, :foreign_key => "pessoa_id"
end

Valeu!

Rafael