button_to没有提交

时间:2011-07-17 22:37:31

标签: ruby-on-rails ruby-on-rails-3 form-submit

我可以在表单旁边放一个按钮,但是没有type=submit吗?

我正在做一些特别的事情。我有一个表格,

<%= form_for(@user) do |f| %>

此表单将根据会话中的值进行呈现。

在表单的旁边,我已经有f.submit,我想要另一个按钮,取消按钮,如果用户想要取消输入,则从控制器调用方法来更改会话值。

但是如果我使用button_to,按钮的类型将是“提交”,当我点击按钮时,它将提交整个表单。如果某些值无效,则会抱怨。它不能作为我预期的“取消”按钮。

那么我可以使用不提交表单的按钮吗?

我尝试使用submit_tag,但buttom dosn`t对我有用...

<%= submit_tag 'Cancel Edit', :type => 'button', :controller => 'my_account', :action=>'cancel_edit' %>

3 个答案:

答案 0 :(得分:25)

尝试以下方法:

<%= button_tag "Cancel", :type => 'button', :class => "subBtn", :onclick => "location.href = '#{list_admin_users_admin_index_path()}'" %>

答案 1 :(得分:11)

button_to helper实际上会生成一个完整的表单:

  

生成一个包含单个按钮的表单,该按钮提交到由options集创建的URL。

所以这绝对不是你想要的。我想你只想在HTML中生成一个简单的<input type="button">元素。但是,FormTagHelper中没有button_tag,但有submit_tag:type可以提供submit_tag 'Pancakes', :type => 'button' 选项,并且会:{/ p>

  

任何其他键都会为标记创建标准HTML选项。

所以试试这个:

{{1}}

“Pancakes”将成为您的真正标签。

答案 2 :(得分:0)

您可以使用类似于f.submit的帮助程序:

<%= f.button 'Save' %>

Documentation