在submit_tag rails上将参数发送到控制器

时间:2013-06-06 17:45:28

标签: ruby-on-rails

我的表单上有两个submit_tag,我想在每个上面发送一个不同的参数。 我怎么能这样做?

我的表单视图:

<%= form_tag(some_path, :method => "get") do %>
   <%= text_field_tag :number %>
   <%= text_field_tag :name %>
   <%= submit_tag "Op01", class: "btn_search", my_parameter: 1 %>
   <%= submit_tag "Op02", class: "btn_search", my_parameter: 2 %>
<% end %>

在我的控制器上:

@oper_type = params[:my_parameter]

但是当我显示@oper_type时,它总是为零。

感谢。

2 个答案:

答案 0 :(得分:6)

<%= submit_tag "Op01", class: "btn_search", value: 1 %>
<%= submit_tag "Op01", class: "btn_search", value: 2 %>

@oper_type = params[:commit] # 1 or 2

或稍微简单

<%= submit_tag "Op01", class: "btn_search" %>
<%= submit_tag "Op01", class: "btn_search" %>

@oper_type = params[:commit] # "Op01" or "Op02"

答案 1 :(得分:1)

有没有办法在不在提交按钮上向用户显示值的情况下完成此操作?假设您希望按钮上有不同的文本,并且发送给控制器的隐藏值...