Rails:如何使用提交按钮创建多个表单,执行不同的功能?

时间:2010-11-07 07:35:12

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

您可以通过执行以下操作来覆盖表单POST的URL:

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

这将允许您将表单数据发送到自定义操作。您无需更改与提交按钮相关的任何内容。

希望有所帮助!