0

我正在构建一个适合移动设备的搜索,并且需要 Ransack gem 连接搜索参数,这样手机上的“点击”(或网络浏览器中的“点击”)首先搜索第一个星期几单击,然后通过第二次单击添加城市,然后添加任何搜索词或代码等。现在它搜索 4 个中的一个,但它不会让用户在没有实际输入框的情况下搜索多个

在不使用 JavaScript 的情况下,我能做些什么来使这些搜索仅通过“点击”连接起来吗?(就是让“城市”和“天”的搜索框不可见?)我想到的一些事情,搞砸了,无法工作:
- 防止搜索表单“清除”并搜索每个参数唯一的“根”?
- 添加 && 以迭代添加搜索功能(使用 &commit=Search 结尾?)

是的,我已经阅读了 ransack 文档,对此进行了广泛的研究,尝试了很多东西,但到目前为止没有任何效果。我的直觉告诉我感觉有些事情我可以做。. .

<%= 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) 并且没有太多时间来处理它;只是想完成它。

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

4

1 回答 1

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
于 2013-05-13T05:47:19.803 回答