【问题标题】:Rails form button to multiple actionsRails 表单按钮到多个操作
【发布时间】:2012-03-26 03:25:14
【问题描述】:

我有一个 Rails 的 remote_form_for,它基本上改变了一个字段的值,我想要 3 个按钮。第一个按钮是保存字段的值。第二个按钮是保存值,然后调用 Action1(例如,发送一封电子邮件说明该字段已更改)。第三个按钮是取消。

表单是用

声明的
<% remote_form_for @post,
  :url => { action => 'update_field1', :id => @post.id } do |f| %>

第一个按钮是

<%= f.submit "Save", :disable_with => "Please Wait" %>

如何实现第二个按钮?非常感谢!

【问题讨论】:

    标签: ruby-on-rails forms button


    【解决方案1】:

    所以这实际上并不是提交标签的工作方式,而是您的问题的问题。 Submit 导致表单提交,并且提交标签的目的地由表单的目的地控制,而不是由提交按钮本身控制。所以不管你在提交标签中放了什么,它总是会去同一个控制器动作。

    但是,您可以根据该控制器操作中的提交按钮来控制表单的作用。在你的控制器中尝试这样的事情:

    case params[:commit]
    when 'Save' then do_something
    when 'Send Email' then do_something && send_email
    end
    

    每个提交按钮都会发送一个不同的提交参数,您可以根据该参数切换操作的作用。

    【讨论】:

    • 有道理,这就是我要找的。但是,我第一次编辑该字段并单击“发送电子邮件”按钮时,params[:commit] == '发送电子邮件'。之后每次我点击“发送电子邮件”按钮,params[:commit] == 'Save'。当我刷新页面时,它再次起作用。仅供参考,我正在使用重定向到控制器和发送电子邮件的操作。
    • 我花了几个小时才弄明白。这是:harryche2008.wordpress.com/2008/08/01/… 另外,stackoverflow.com/questions/2702194/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多