我有一个rails应用程序,在索引页面上我有一个下拉列表来选择页面上显示的记录数量,同时我还有一个搜索表单来过滤结果集。
我想将下拉选项附加到网址
e.g。当我搜索记录时,网址变为?utf8=✓&search=as&button=
,但现在当用户将显示的记录数更改为per_page=10
时(10是用户从下拉菜单中选择),网址应变为?utf8=✓&search=as&button=&per_page=10
< / p>
我尝试了以下代码,但是对于每个用户选择,per_page不断添加到网址,我的代码行是
<%= select_tag :per_page,
options_for_select([10,20,30],
params[:per_page].to_i),
:onchange => "if(this.value){window.location+='&per_page='+this.value;}" %>
答案 0 :(得分:0)
您可以做的是将select包装到表单标记中并在onchange
处理程序中提交表单。它看起来类似于以下内容(我假设您有orders_path
路由可用,并希望保留params[:search]
值:
<%= form_tag orders_path, :method => "get" do %>
<%= hidden_field_tag :search, params[:search] %>
<%= select_tag :per_page, options_for_select([10,20,30], params[:per_page].to_i), :onchange => "this.form.submit()" %>
<% end %>