2016-10-26 4 views
1

Как установить условие, в котором оно было отфильтровано <: проверьте. Я использую камень 'рыскать'Как фильтровать по цене?

<%= search_form_for @search, id: 'catalog_filter' do |f| %> 
    <%= f.search_field :check %> 
<% end %> 

контроллер

def index 
    @search = Restaurant.search(params[:q]) 
    @restaurants = @search.result.where(:publish => true, :status => 1) 
end 
+1

вы можете дать более подробную информацию о том, что вы пытаетесь сделать. где вы помещаете чек, и что это делает? –

+0

@max pleaner Я не понимаю, как написать условие в модели, чтобы он искал все, что меньше значения поля: check – Silentium

ответ

0

Вы могли бы дать это попробовать

def index 
    @search = Restaurant.search(params[:q]) 
    @restaurants = @search.result.where('publish = ? AND status = ? AND value < ?', true, 1, 800) 
end 

Это следует отфильтровать значения, которые меньше, чем 800

0
<%= f.search_field :check_lteq, id: 'hidden' %> 

_lteq ищет все, что <= уставкой

#=> SELECT `products`.* FROM `products` WHERE (`products`.`price` <= 1000) 

_gteq ищет все, что >= уставкой

# => "SELECT `items`.* FROM `items` WHERE `items`.`price` >= 1000)" 
+1

Пожалуйста, добавьте некоторые детали на ваш ответ, а не просто отправку кода кода –

+0

Хотя этот фрагмент кода может решить проблему, он не объясняет, почему и как он отвечает на вопрос. Пожалуйста, [укажите объяснение своего кода] (// meta.stackexchange.com/q/114762/269535), так как это действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. ** Флагеры/рецензенты: ** [Для ответов только на код, таких как этот, нисходящий, не удалять!] (// meta.stackoverflow.com/a/260413/2747593) –

Смежные вопросы