将所选值从select_tag传递给params而不使用form_tag

时间:2014-02-13 17:38:01

标签: ruby-on-rails ruby submit params

我有这段代码:

<div class="export-buttons">
    <div class="row">
        <div class="col-lg-offset-4">
            <%= label_tag :year, "Any" %>
            <%= select_tag :year,options_for_select((2014..2040).map{|x| x.to_s}),name:"params[year]" %>

        </div>
    </div>
    <div class="row">
        <div class="col-lg-4 col-lg-offset-4">
            <%= link_to "Revenue summary", revenue_summary_path(format:"pdf"),class:"btn btn-bg btn-default", role:"button"  %>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-4 col-lg-offset-4">
            <%= link_to "Fees summary", fees_summary_path(format:"pdf"),class:"btn btn-bg btn-default", role:"button"  %>
        </div>
    </div>
</div>

我想将select_tag中的所选值传递给params。但是我没有form_tag,因此也没有Submit按钮。

有没有办法去嵌入&#34;它在params哈希里面?或者我确实需要form_tag吗?如果是后者,那么最好的方法是什么,两个提交按钮+一个路径+ if / else @controller

1 个答案:

答案 0 :(得分:1)

如果你真的想避免表单标签,这似乎也是合乎逻辑的,因为你想拥有多个下载链接,只需向后端发送一个额外的select_tag参数。你可以使用javascript。

  • 您可以使用绑定到这些链接上的javascript函数代替 link_to
  • 绑定的函数会执行url,在此之前它会通过javascript将select filter的当前值附加到url。