使用ransack gem精炼搜索

时间:2013-05-01 05:33:40

标签: ruby-on-rails-3 mobile ransack

我正在构建一个适合移动设备的搜索,并且需要让Ransack gem连接搜索参数,以便在手机上(或在网络浏览器“点击”中)“点击”首先搜索一周中的哪一天第一次点击,然后添加第二次点击城市,然后添加任何搜索条件或代码等。现在它搜索4中的一个,但它不会让用户搜索多个而不实际输入框

没有使用JavaScript,我可以做些什么来通过“点击”单独连接这些搜索? (也就是说,让“城市”和“日”的搜索框看不见?)我想到的一些事情,搞砸了,无法开始工作:
- 防止搜索表单“清除”并从“root”中唯一地搜索每个参数? - 添加&&迭代地添加搜索功能(最后使用& commit = Search?)

是的,我已经阅读了hansack文档,对此进行了广泛的研究,尝试了许多方法,但到目前为止还没有任何工作。我的直觉告诉我感觉我能做的事情就像。 。

<%= f.text_field :city_cont, placeholder: "Add City", @q.day_cont(params[:city_cont]) %>

index.html.erb

中的

或者它可能是某种变化:

<%#= search_form_for @q, :url => request.fullpath, :method => :get, :html => { :class => 'form-search' } do |f| %>

将整个项目捐赠给501(c)(3)并且没有太多时间来搞乱它;只是想完成它。

非常感谢任何帮助/见解!

1 个答案:

答案 0 :(得分:0)

JavaScript过滤在这里是理想的解决方案,但是如果你开始为每次点击进行全页面刷新,然后让点击的项目“持久”以便将来点击,那么你必须将当前的搜索参数插入到所有点击的链接。 params哈希会有所帮助,也许是帮助者:

link_to LABEL, with_params_for(CODE, VALUE)

def with_params_for(code, value)
  current_params = params["q"].except(code)
  "/meetings?utf8=%E2%9C%93&q[#{code}]=#{value}&commit=Search&" +
    current_params.map { |cp| "q[#{cp}]=#{params['q'][cp]}" }.join("&")
end