Rails named_scope herencia?

Estoy tratando de generalizar algunos de mis modelos al proporcionar un modelo base común para heredar que contiene algunas declaraciones mutuas named_scope y un método de filtro que activa esa búsqueda de consultas más simples en el lado del controlador. Esto parece estar funcionando cuando lo ejecuto en la consola, pero falla cuando en el 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 se llama a la clase padre 'named_scope cuando está en rails, pero funciona bien en la consola de rails. ¿Alguna idea de cómo reparar esto? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta