Rails-单击按钮发送电子邮件

Polarcare

导轨4.1.1

我有一个OrdersController,在订单显示操作中我有...

orders_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

然后我认为...

(show.haml)

= button_to "Send", @order

如果我从if语句中取出“ OrderMailer”并访问显示/订购页面,则电子邮件将反复发送,直到关闭开发服务器为止,这样我就知道邮件发送器可以发送/正常工作了。

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

routes.rb

resources :orders, :path => 'orders'
Polarcare

OK,在@steel的帮助下,这里是代码。

route.rb(已更改为符号开始)

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

orders_controller.rb

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

  OrderMailer.order_send(@order, @client).deliver
  flash[:notice] = "Order has been sent."
  redirect_to order_path(@order.id)
end

orders / show.html.erb上有链接。

<%= link_to "Send Order by email", :controller => "orders", :action => "send_order_mail", :id => @order.id %>

mailers / order_mailer.rb

class OrderMailer < ActionMailer::Base

  add_template_helper(OrdersHelper)

  default from: "[email protected]"

  def order_send(order, client)
    @order = order
    @client = client
    mail(to: "#{@client.email}", subject: "Your subject")
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4 Mailer不发送电子邮件

来自分类Dev

Rails 4,不使用sendmail发送电子邮件

来自分类Dev

Rails通过GET发送电子邮件

来自分类Dev

Rails应用程序不发送电子邮件

来自分类Dev

在概念验证Rails应用中发送电子邮件

来自分类Dev

使用Shoppe gem + Rails发送电子邮件

来自分类Dev

Rails 联系表不发送电子邮件

来自分类Dev

Rails 重新发送电子邮件激活

来自分类Dev

Rails 测试根据请求规范发送电子邮件

来自分类Dev

Rails 通过弹出窗口发送电子邮件

来自分类Dev

使用2封电子邮件和凭据在Rails中发送电子邮件

来自分类Dev

如果用Rails ActionMailer清空电子邮件,如何不发送电子邮件

来自分类Dev

在Rails中发送电子邮件后存储邮件程序类和方法

来自分类Dev

动作邮件程序-使用Ruby on Rails通过联系表单发送电子邮件

来自分类Dev

在Rails中使用发送网格批量发送电子邮件

来自分类Dev

仅在产品中发送电子邮件,而在Rails开发中则不发送

来自分类Dev

在Rails中使用发送网格批量发送电子邮件

来自分类Dev

Rails 4.2-Sidekiq在开发中不发送电子邮件

来自分类Dev

Sidekiq和Rails 4 Actionmailer从不发送电子邮件

来自分类Dev

Ruby on Rails-在确定的时间内发送电子邮件

来自分类Dev

在Rails开发环境smtp cpanel上发送电子邮件ruby

来自分类Dev

我们可以在开发模式下通过ruby on rails发送电子邮件吗?

来自分类Dev

Ruby on Rails的Cloud9不发送电子邮件

来自分类Dev

在Rails应用程序中使用Google标记发送电子邮件

来自分类Dev

Rails设计在开发中不发送电子邮件确认

来自分类Dev

哪种方法更好地在Rails中发送电子邮件?

来自分类Dev

在Rails中发送电子邮件时如何检查多个条件?

来自分类Dev

Rails Action Mailer并返回状态200(如果已发送电子邮件)

来自分类Dev

Ruby on Rails-在确定的时间内发送电子邮件

Related 相关文章

  1. 1

    Rails 4 Mailer不发送电子邮件

  2. 2

    Rails 4,不使用sendmail发送电子邮件

  3. 3

    Rails通过GET发送电子邮件

  4. 4

    Rails应用程序不发送电子邮件

  5. 5

    在概念验证Rails应用中发送电子邮件

  6. 6

    使用Shoppe gem + Rails发送电子邮件

  7. 7

    Rails 联系表不发送电子邮件

  8. 8

    Rails 重新发送电子邮件激活

  9. 9

    Rails 测试根据请求规范发送电子邮件

  10. 10

    Rails 通过弹出窗口发送电子邮件

  11. 11

    使用2封电子邮件和凭据在Rails中发送电子邮件

  12. 12

    如果用Rails ActionMailer清空电子邮件,如何不发送电子邮件

  13. 13

    在Rails中发送电子邮件后存储邮件程序类和方法

  14. 14

    动作邮件程序-使用Ruby on Rails通过联系表单发送电子邮件

  15. 15

    在Rails中使用发送网格批量发送电子邮件

  16. 16

    仅在产品中发送电子邮件,而在Rails开发中则不发送

  17. 17

    在Rails中使用发送网格批量发送电子邮件

  18. 18

    Rails 4.2-Sidekiq在开发中不发送电子邮件

  19. 19

    Sidekiq和Rails 4 Actionmailer从不发送电子邮件

  20. 20

    Ruby on Rails-在确定的时间内发送电子邮件

  21. 21

    在Rails开发环境smtp cpanel上发送电子邮件ruby

  22. 22

    我们可以在开发模式下通过ruby on rails发送电子邮件吗?

  23. 23

    Ruby on Rails的Cloud9不发送电子邮件

  24. 24

    在Rails应用程序中使用Google标记发送电子邮件

  25. 25

    Rails设计在开发中不发送电子邮件确认

  26. 26

    哪种方法更好地在Rails中发送电子邮件?

  27. 27

    在Rails中发送电子邮件时如何检查多个条件?

  28. 28

    Rails Action Mailer并返回状态200(如果已发送电子邮件)

  29. 29

    Ruby on Rails-在确定的时间内发送电子邮件

热门标签

归档