gpt4 book ai didi

ruby-on-rails-4 - Rails - 单击按钮发送电子邮件

转载 作者:行者123 更新时间:2023-12-02 08:33:32 25 4
gpt4 key购买 nike

导轨 4.1.1

我有一个 OrdersController 并且在订单上显示我有的操作...

订单 Controller .rb

def show
@order = Order.find(params[:id])
@client = Client.find(@order.client_id)

if request.post?
OrderMailer.order_send(@client, @order).deliver
flash[:notice] = 'Order details sent!'
redirect_to order_path(@order.id)
end
end

然后在 View 上我有...

(显示.haml)

= button_to "Send", @order

如果我从 if 语句中取出“OrderMailer”并访问显示/订单页面,电子邮件会重复发送,直到我关闭开发服务器,所以我知道邮件部分发送/工作正常。

我只是不确定如何将按钮点击/发送电子邮件联系在一起?我需要一条路线,但如果我已经有了订单/展示页面的路线,我不确定如何将它联系在一起?

路线.rb

resources :orders, :path => 'orders'

最佳答案

我不确定如何使您当前的方法起作用,但有几种方法可以做到这一点。这是我用过的一种方法:

设置 Controller 操作:

orders_controller.rb

def send_order_mail
@parameters = Model.get_parameters
OrderMailer.name_of_action(@parameters).deliver
# redirect code here
end

设置你的路线:

get send_order_mail, to: 'orders_controller#send_order_mail', as: :send_order_mail

然后建立链接。

link_to 'Send mail', send_order_mail_path, class: "big-button"

关于ruby-on-rails-4 - Rails - 单击按钮发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com