Ruby on rails 如何触发电子邮件?轨道
我想在@post视图中触发一个邮件“操作”Ruby on rails 如何触发电子邮件?轨道,ruby-on-rails,ruby,actionmailer,Ruby On Rails,Ruby,Actionmailer,我想在@post视图中触发一个邮件“操作” class UserMailer < ActionMailer::Base default from: "example@gmail.com" def newsletter(post) @greeting = "" @users = User.all @users.each do |user| mail to: user.email, subject: post.title end end
class UserMailer < ActionMailer::Base
default from: "example@gmail.com"
def newsletter(post)
@greeting = ""
@users = User.all
@users.each do |user|
mail to: user.email, subject: post.title
end
end
end
如果我按下此按钮,当错误明显存在时,会弹出错误“No route matches posts/6”。您必须编写一个操作,该操作将调用UserMailer.newsletter(@post.deliver) 添加必要的路由,并将按钮链接到该操作 在routes.rb中
resources :posts do
member do
get :send_newsletter
end
end
鉴于
link_to 'Deliver', send_newsletter_post_path(@post)
此外,您还可以将get方法更改为发布并提交一份发送新闻稿的表单Wow,这绝对像Rails的方式。谢谢
resources :posts do
member do
get :send_newsletter
end
end
link_to 'Deliver', send_newsletter_post_path(@post)