Rails:是否可以使用link_to或button_to方法触发邮件程序方法?

时间:2014-06-05 21:39:04

标签: ruby-on-rails ruby-on-rails-4 actionmailer link-to button-to

我正在尝试创建一个管理工具,管理员可以通过按钮发送已经存在的电子邮件。

我使用此方法class FamilyMailer < ActionMailer::Base

birthdaymailer

我有办法从视图中触发这个吗?

我在StackOverFlow上看到了很多答案,但它确实没有用。

我遇到的最接近的结论是,Mailer在视图中以这种方式触发FamilyMailer.birthdaymailer并创建一个返回主页面。

我想知道是否会有更好的方式。

1 个答案:

答案 0 :(得分:2)

当然!

说你有一个名叫UserMailer的邮件。

设置控制器操作:

# my_controller.rb

def send_mail
  @parameters = Model.get_parameters
  UserMailer.name_of_action(@parameters).deliver
end

设置路线:

get send_mail, to: 'my_controller#send_mail', as: :send_mail

然后建立你的链接!

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

瞧。