如何在两个提交标签上提及表单中的不同操作?

时间:2013-03-25 06:33:14

标签: mysql ruby-on-rails ruby ruby-on-rails-3 rubygems

我有自己的表格标签,我的表格中还有两个按钮。如何通过单击提交按钮在我的表单中调用不同的操作。

这是我的代码:

<%= form_for :attachment_metadata, :url=>{:action=>'delete_files'}, :html=>{:onsubmit=> "return confirm('Are you sure, you want to delete selected files?');",:multipart => true} do |f| %>
   <table>
     ..........Some stuff here..........
   </table> 
<%= submit_tag 'Reprocess', :class =>'button' %>
<%= submit_tag 'Remove', :class =>'button' %>
<% end %>

点击“重新处理”我想调用不同的动作但是以相同的形式。

我该怎么做?

请帮忙

提前致谢

3 个答案:

答案 0 :(得分:1)

Railscast 38中介绍了这一点。我相信它会解决你的问题。它非常简单。每当你提交一个表单时,它会以params方式发送一些关于你已经执行的提交的信息,我建议你看看railscast,你会完全理解。

答案 1 :(得分:1)

params[:commit]可以区分两个提交标记的操作 更新:

  

@action = params [:commit]

如果您点击action按钮,则会将@ Reprocess值设为“Reprocess”,如果您点击Remove按钮,则会显示“Remove”值,

答案 2 :(得分:0)

您可以使用两种不同的表单,然后使用jQuery提交表单。在这种情况下,您可以将表单提交到特定位置。

<form id="target" action="destination.html">
  <input type="text" value="Hello there" />
  <input type="submit" value="Go" />
</form>
<div id="other">
  Trigger the handler
</div>

$('#target').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});