Ransack: Jak korzystać z istniejącego zakresu?

Konwertując aplikację Rails 2 na Rails 3, muszę wymienić klejnotsearchlogic. Teraz, używając Rails 3.2.8 z klejnotemPlądrować Chcę zbudować formularz wyszukiwania, który używa istniejącego zakresu. Przykład:

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

O ile wiem, można to osiągnąć, definiując zwyczajransacker. Niestety, nie znalazłem żadnej dokumentacji na ten temat. Próbowałem tego wPostklasa:

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

Ale to nie działa:

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

Spróbowałem kilku odmianransacker deklaracja, ale żadna z nich nie działa. Potrzebuję pomocy...

AKTUALIZACJA: Powyższy zakres jest tylko na przykład. Szukam sposobu użycia każdego istniejącego zakresu w Ransacku. W MetaSearch, poprzedniku Ransack, istnieje funkcja o nazwiesearch_methods do używania zakresów. Ransack mabrak wsparcia dla tego jeszcze z pudełka.

questionAnswers(3)

yourAnswerToTheQuestion