我正在构建一个适合移动设备的搜索,并且需要让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)并且没有太多时间来搞乱它;只是想完成它。
非常感谢任何帮助/见解!
答案 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