Ransack: ¿Cómo usar el alcance existente?

Al convertir una aplicación de Rails 2 a Rails 3, tengo que reemplazar la gemabúsqueda lógica. Ahora, usando Rails 3.2.8 con la gema.Saquear Quiero construir un formulario de búsqueda que utiliza un alcance existente. Ejemplo:

class Post < ActiveRecord::Base
  scope :year, lambda { |year| 
    where("posts.date BETWEEN '#{year}-01-01' AND '#{year}-12-31'") 
  }
end  

Que yo sepa, esto se puede lograr definiendo una costumbresaqueador. Lamentablemente, no encuentro ninguna documentación sobre esto. Intenté esto en elPostclase:

ransacker :year, 
          :formatter => proc {|v| 
            year(v)
          }

Pero esto no funciona:

Post.ransack(:year_eq => 2012).result.to_sql
=> TypeError: Cannot visit ActiveRecord::Relation

Probé algunas variaciones de laransacker Declaración, pero ninguno de ellos funciona. Necesito algo de ayuda...

ACTUALIZAR: El alcance de arriba es solo un ejemplo. Estoy buscando una manera de utilizar cada ámbito existente dentro de Ransack. En MetaSearch, el predecesor de Ransack, hay una característica llamadasearch_methods para el uso de ámbitos. Saqueo tieneno hay apoyo para esto fuera de la caja todavía.

Respuestas a la pregunta(3)

Su respuesta a la pregunta