我在Ruby on Rails应用程序中使用Mandrill API设置了一个邮件程序,用于为用户发送每日活动报告。
class ReportMailer < BaseMandrillMailer
def send_report(user_id)
user = User(user_id)
posts = Posts.where("userID == ?", user.id)
subject = "Subject line"
merge_vars = {
"name" => user.name
posts.each do |p|
"title" => p.title # Line 10
end
} # Line 12
body = mandrill_template("template-name", merge_vars)
send_mail(user.email, subject, body)
end
end # Line 18
正如您所看到的,我尝试在merge_vars中使用标准for循环来遍历用户创建的每个帖子,以便它们在我的MailChimp / Mandrill模板中显示为列表。
但是,这段代码给了我以下语法错误:
.../report_mailer.rb:10: syntax error, unexpected =>, expecting keyword_end "title" => p.title ^~
.../report_mailer.rb:12: syntax error, unexpected '}', expecting keyword_end } ^
.../report_mailer.rb:18: syntax error, unexpected keyword_end, expecting end-of-input
以下是我一直在努力遵循的文档: http://blog.mandrill.com/handlebars-for-templates-and-dynamic-content.html#examples