【发布时间】:2014-09-17 07:14:10
【问题描述】:
在我的 Rails 应用程序中,我使用 action mailer 向用户发送邮件。如果他打开邮件,我想给用户一些奖励积分。为此,我想在用户端打开电子邮件时收到通知。有什么想法可以实现吗?
我尝试如下。
我在邮件模板中添加了一个图片标签,如下所示:
<%= image_tag tracking_image_url(1)%>
在控制器中
def image
file_path=File.dirname(::Rails.root.join('public','assets','customer_ads','2','medium','medium')) + "/Huawei.jpg"
send_file file_path, :type => 'image/jpeg'
end
我没有收到任何通知。它只是下载图像。
【问题讨论】:
-
可以通过嵌入具有唯一 URL 的图像来实现,称为 web beacon 或 web bug。
-
你能详细解释一下吗?
-
对不起,我不能写一个完整的教程。你在实现这个方面有什么具体问题吗?
-
您应该在该网址中嵌入 client_id。稍后,当请求跟踪图像时,您就会知道客户请求的是什么。
-
好吧,您在操作中编写的代码肯定会下载文件,但这不是您的意图。为了获得通知,您必须在 url 中附加一个唯一的哈希值,该哈希值可以识别电子邮件发送到的用户,您可以将其保存在您的数据库中作为通知。您也可以附加 client_id,但我不会这样做。
标签: ruby ruby-on-rails-3 actionmailer