Rails named_scope herança?

Estou tentando generalizar alguns dos meus modelos, fornecendo um modelo de base comum para herdar, que contém algumas declarações nomeadas_scope mútuas e um método de filtro que ativa a busca por consultas mais simples no lado do controlador. Isso parece estar funcionando quando eu o executo no console, mas falha quando no controlador:

# in the base model
class GenericModel < ActiveRecord::Base

  named_scope :by_name, lambda { |name|
    ( name.blank? ) ? {} : { :conditions => [ "#{self.table_name}.name like ?", "%#{name}%" ] }
  }

  def filter(params)
    res = []
    res = self.by_name( (params[:name] or '') ) if params[:name]
    return res
  end

end

class MyModel < GenericModel
  set_table_name 'my_models'
end

# works in in console!
>> params = { :name => 'jimmy' }
>> MyModel.filter(params)
=> [ <#MyModel ...>, ... ]
nil

# fails in controller
@model = MyModel.filter(params)

# ActiveRecord::StatementInvalid (Mysql::Error Unknown column 'generic_models.name' in where clause...)

Aparentemente, a classe pai 'named_scope está sendo chamada no Rails, mas funciona bem no console do Rails. Alguma idéia de como consertar isso? obrigado

questionAnswers(1)

yourAnswerToTheQuestion