2011-10-14 80 views
0

以下是我的表演动作: 高清显示轨道2,这是为什么控制器动作返回nil.to_sym

@category = Category.find_by_url_name(params[:id]) 
      @brands = @category.brands 
      @categories = Category.find(:all) 
      @meta_title = "#{@category.name}" 

    respond_to do |format| 
     format.html 
       @brand = @brands.first  
       @search = Product.search.order(params[:order] || 'descend_by_date') 

       @products = @search.paginate(:conditions => { :category_id => @category, :brand_id => @brand }, :page => params[:page])  
       render :template => 'brands/show' 

     format.xml { render :xml => @category } 
    end 
    end 

错误的返回:

NoMethodError (You have a nil object when you didn't expect it! 
The error occurred while evaluating nil.to_sym): 
    searchlogic (2.5.8) lib/searchlogic/active_record/named_scope_tools.rb:16:in `named_scope_options' 
    searchlogic (2.5.8) lib/searchlogic/named_scopes/alias_scope.rb:54:in `named_scope_options' 
    searchlogic (2.5.8) lib/searchlogic/named_scopes/or_conditions.rb:14:in `named_scope_options' 
    searchlogic (2.5.8) lib/searchlogic/search/scopes.rb:15:in `scope_options' 
    searchlogic (2.5.8) lib/searchlogic/search/method_missing.rb:80:in `cast_type' 
    searchlogic (2.5.8) lib/searchlogic/search/method_missing.rb:22:in `method_missing' 
    searchlogic (2.5.8) lib/searchlogic/search/method_missing.rb:36:in `send' 
    searchlogic (2.5.8) lib/searchlogic/search/method_missing.rb:36:in `method_missing' 
    app/controllers/categories_controller.rb:28:in `show' 
    app/controllers/categories_controller.rb:25:in `show' 

我一直在搞乱这一段时间现在和它的不解决...

我使用rvm来处理我的版本

宝石-v = 1.5.3 的Rails -v = 3.1.1 红宝石-v = 1.8.7

不知其轨道的版本问题...任何想法?

+1

不应condtions是一个数组里面,不是哈希? – apneadiving

回答

0

原来是一对夫妇的事情:Rails的版本,指定2.3.x版本需要和yes其中的哈希里面......有了条件,使一个数组