2010-11-07 35 views
1

我想用一个提交按钮创建多个表单,每个提交按钮都有不同的动作/功能来执行。
如何做到这一点?现在所有的提交按钮都将创建控制器方法作为其操作函数。如何覆盖这个?我可以给每个提交按钮命名并将每个按钮的动作重定向到其控制器文件中的不同方法吗?
如何做到这一点?我正在使用rail 3.0.1。Rails:如何使用提交按钮创建多个表单,执行不同的功能?

+0

澄清:你有多种形式的提交按钮在每种形式?或者你有一个内部有多个提交按钮的表单? – codykrieger 2010-11-07 09:53:49

+0

嗯,我的情况是与提交按钮在同一模型中的多个表单。 – Hemanth 2010-11-07 09:56:19

回答

0

如果您使用form_for帮助器方法,我相信它使用new_record?方法在你传递给它的任何对象上,以确定它应该指向的正确动作。例如:

<%= form_for @page do |f| %> 

如果@ page.new_record?评估为true,表单将POST到PagesController上的create方法。但是,如果它的计算结果为false,它将POST到PagesController上的更新方法。

你可以做这样的事情重写URL形式的POST:

<%= form_for @page, :url => { :action => "my_action" } do |f| %> 

,将允许您将表单数据发送到一个自定义操作。您不必更改与提交按钮相关的任何内容。

希望有帮助!

相关问题