Ruby on rails 打开跟踪无法使用Rails ahoy_电子邮件gem
我在Rails中使用了ahoy_email gem,我无法实现简单的开放式跟踪,我不知道如何调试它 发送电子邮件时将生成消息记录:Ruby on rails 打开跟踪无法使用Rails ahoy_电子邮件gem,ruby-on-rails,email,ruby-on-rails-5,ahoy,Ruby On Rails,Email,Ruby On Rails 5,Ahoy,我在Rails中使用了ahoy_email gem,我无法实现简单的开放式跟踪,我不知道如何调试它 发送电子邮件时将生成消息记录: #<Ahoy::Message:0x000055592a4bd3a8 id: 1, token: "AVKoHmuT0OxqaQRpMfNoDjzD3ibUltHL", to: "augusto@qounter.com", user_type: "User", user_id: 6, mailer: "UserMailer#welcome_emai
#<Ahoy::Message:0x000055592a4bd3a8
id: 1,
token: "AVKoHmuT0OxqaQRpMfNoDjzD3ibUltHL",
to: "augusto@qounter.com",
user_type: "User",
user_id: 6,
mailer: "UserMailer#welcome_email",
subject: "Bienvendido al Sistema de Facturación de Megacentro",
sent_at: Thu, 30 Aug 2018 21:35:44 UTC +00:00,
opened_at: nil,
clicked_at: nil,
comprobante_id: nil>
发送的电子邮件包含隐藏的图像:
<body>
...
<img alt=3D"" src=3D"http://megacentro.devtechperu.com/ahoy/messages/AVKo=
HmuT0OxqaQRpMfNoDjzD3ibUltHL/open.gif" width=3D"1" height=3D"1">
</body>
</html>
有无https以防万一
我总是从服务器得到204响应,这意味着Ahoy控制器没有处理url,因为根据代码,它应该用gif响应
我在Ubuntu18.04服务器上使用Rails 5.2.1和Ruby 2.5.1
这可能是Rails最新版本中的一个bug吗?任何关于调试这一点的建议都将不胜感激
编辑:查看服务器日志,确认未命中路由:
I, [2018-08-30T22:11:57.320881 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Started GET "/ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open.gif" for 179.6.208.88 at 2018-08-30 22:11:57 +0000
I, [2018-08-30T22:11:57.321749 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Processing by ApplicationController#raise_not_found as GIF
I, [2018-08-30T22:11:57.321799 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Parameters: {"unmatched_route"=>"ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open"}
D, [2018-08-30T22:11:57.608802 #6906] DEBUG -- : [f0912842-0b2c-4314-889b-38d813f1ea24] User Load (78.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 3], ["LIMIT", 1]]
D, [2018-08-30T22:11:57.609440 #6906] DEBUG -- : [f0912842-0b2c-4314-889b-38d813f1ea24] No route matches ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open
I, [2018-08-30T22:11:57.609619 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Completed 204 No Content in 288ms (ActiveRecord: 159.9ms)
编辑:此路线在开发中运行良好,但在生产中会引发ActionController::RoutingError。因此204,当我用204从这个错误中解救出来时,问题变成了我routes.rb中的这两行:
get '*unmatched_route', to: 'application#raise_not_found' unless Rails.env == "development"
post '*unmatched_route', to: 'application#raise_not_found' unless Rails.env == "development"
我用它来捕捉不匹配的路径并挽救错误。创业板的路线从来没有在生产中被击中,因为无与伦比的路线首先开始。移除这些解决了问题
I, [2018-08-30T22:11:57.320881 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Started GET "/ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open.gif" for 179.6.208.88 at 2018-08-30 22:11:57 +0000
I, [2018-08-30T22:11:57.321749 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Processing by ApplicationController#raise_not_found as GIF
I, [2018-08-30T22:11:57.321799 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Parameters: {"unmatched_route"=>"ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open"}
D, [2018-08-30T22:11:57.608802 #6906] DEBUG -- : [f0912842-0b2c-4314-889b-38d813f1ea24] User Load (78.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 3], ["LIMIT", 1]]
D, [2018-08-30T22:11:57.609440 #6906] DEBUG -- : [f0912842-0b2c-4314-889b-38d813f1ea24] No route matches ahoy/messages/AVKo=HmuT0OxqaQRpMfNoDjzD3ibUlt/open
I, [2018-08-30T22:11:57.609619 #6906] INFO -- : [f0912842-0b2c-4314-889b-38d813f1ea24] Completed 204 No Content in 288ms (ActiveRecord: 159.9ms)
get '*unmatched_route', to: 'application#raise_not_found' unless Rails.env == "development"
post '*unmatched_route', to: 'application#raise_not_found' unless Rails.env == "development"