поиск по рельсам с помощью textile: закрытый метод `scan 'вызвал для # - PullRequest
0 голосов
/ 03 августа 2010

У меня есть приложение rails, которое я хочу сделать доступным для поиска с помощью текста тендерлоув. В консоли это работает нормально, но в моем приложении я получаю сообщение об ошибке:

/opt/local/lib/ruby/gems/1.8/gems/texticle-1.0.3/lib/texticle.rb:65:in `index'
/Users/vjmayr/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:92:in `call'
/Users/vjmayr/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:92:in `named_scope'
/Users/vjmayr/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:97:in `call'
/Users/vjmayr/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:97:in `search'
/Users/vjmayr/softwareclick/app/controllers/categories_controller.rb:12:in `search'

...

def search
          @allproducts = Product.search(params[:search], :conditions => ['category_id in (?)', @category.subtree_ids]) #line 12
        if params[:search]
           @products = Product.search(params[:search], :conditions => ['category_id in (?)', @category.subtree_ids]).paginate :per_page => 30, :page => params[:page] #line 14
         else
           @products = []
         end

         respond_to do |format|
           format.html # show.html.erb
           format.xml  { render :xml => @category }
         end
  end

Может кто-нибудь указать мне на корень проблемы? Я застрял ...

Спасибо!

Val

P.S. Странная вещь в строке 12 состоит в том, что она не должна использоваться, так как у меня есть поиск по параметрам .... Когда я отключаю ее, ошибка относится к строке 14

1 Ответ

0 голосов
/ 23 мая 2011

Попробуйте:

Product.search(params[:search]).all :conditions => ...
# this also works
Product.search(params[:search]).paginate :conditions => ...

Надеюсь, это поможет.

...