2010-08-03 4 views
0

У меня есть приложение для рельсов, которое я хочу сделать с возможностью поиска с помощью текстуры. В консоли это работает хорошо, но в моем приложении я получаю сообщение об ошибке, как это:rails поиск с текстом: частный метод `scan ', вызываемый для # <Array: 0x103f03f08>

/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 в том, что она не должна быть использована, так как у меня есть поиск в Params .... Когда я отключить его, ошибка относится к строке 14

+0

Просьба вставить код по строке 12 из категории_controller. –

+0

Привет Влад, здесь мы идем (надеюсь, что не форматирование выглядят все сумасшедшие): ... хорошо это выглядело с ума, я aded его вопрос. Спасибо, Val –

ответ

0

Попробуйте это:

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

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