如何按价格过滤?

时间:2016-10-26 07:47:12

标签: ruby-on-rails ruby ransack

如何设置过滤后的条件< :校验。 我使用gem' ransack'

<%= 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

2 个答案:

答案 0 :(得分:0)

你可以尝试一下

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

这应该过滤掉小于800的值

答案 1 :(得分: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)"