button_tag不发送提交

时间:2012-10-04 10:30:28

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 form-for

我需要在表单上使用button_tag代替submit_tag来添加样式为http://twitter.github.com/bootstrap/base-css.html#buttons的图标。

<%= simple_form_for(bla..........bla......)) do  %>
 <%= button_tag t('.sent_to_trash'), :class => "btn btn-small btn-primary disabled", :id => "trash_button", do %>
   <i class="icon-trash icon-white"></i>
   <%= t('.sent_to_trash') %>
 <% end %>
<% end %>

问题是我无法通过params[:commit]收到button_tag,但submit_tag工作正常,我在动作控制器上正确收到params[:commit]

如何解决此问题?

非常感谢!

1 个答案:

答案 0 :(得分:1)

Html元素button适用于:name:value参数,因此您必须明确定义这些,例如。

= button_tag(:name => "commit", :value => "my_button") do
  = "Press me!"

然后在表单提交后得到params[:commit] = "my_button"

注意:您也应指定:type属性,因为不同的浏览器对<button>元素使用不同的默认类型(:type => "submit"