【问题标题】:Rails : How to create more than one form with a submit button, doing different functionality?Rails:如何使用提交按钮创建多个表单,执行不同的功能?
【发布时间】:2010-11-07 07:35:11
【问题描述】:

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

【问题讨论】:

  • 澄清一下:您是否有多个表单,每个表单中都有提交按钮?或者你有一个包含多个提交按钮的表单?
  • 嗯,我的情况是同一模型中的多个表单带有提交按钮。

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


【解决方案1】:

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

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

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

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

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

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

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2016-04-06
    • 2023-03-10
    • 2020-02-18
    • 2021-08-11
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多