2014-11-26 2 views
-1

Я добавил опцию условия для моего мышления поиска сфинкса и теперь я получаю NoMethodError: undefined method `gsub' for nil:NilClassNoMethodError: неопределенный метод `GSUB» для ноля: NilClass

 @users = User.search(params[:search].gsub(/\s+/, ' | '), 
     :geo => [current_user.latitude * Math::PI/180.0, current_user.longitude * Math::PI/180.0], 
     :with => {:geodist => 0.0..100_000.0}, 
     :conditions => {:ethnicity => params[:ethnicity], :religion => params[:religion]}, 
     :order => 'geodist ASC', :without => {:user_id => current_user.id}) 


    end  
    render 'users/index', layout: 'new_application'  

    end 
+0

Проводили ли вы какую-либо отладку вообще? –

ответ

3
params[:search].gsub(/\s+/, ' | ') 

Если PARAMS [: поиск] равен нулю то это будет ошибкой. Либо убедитесь, что это значение, либо извлеките его в другой класс UserSearcher, который занимается этой бизнес-логикой.