以下代码将在帖子创建时发送邮件。如果你想用一个单独的按钮(“给我发电子邮件”)绑定它,你可以将创建操作中的代码移动到一个新操作(send_mail)并绑定“给我发电子邮件”和“send_mail”
应用程序/控制器/posts_controller.rb
def create
post = Post.new(params[:post])
Mailer.post_it(post).deliver
end
应用程序/mailers/mailer.rb
class Mailer < ActionMailer::Base
default :from => "noob@railstutorial.com"
def post_it(post)
@post = post
mail(:to => "reader@hisdomain.com",
:subject => "New Post: #{@post.title}",
:cc => "admin@yourdomain.com")
end
end
应用程序/views/mailer/post_it.erb
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<p><%= @post.content %></p>
</body>
</html>