重置密码和帐户激活链接无法转到Heroku {R 44]上的Rails 5应用中的确切网址

时间:2017-06-16 19:53:49

标签: ruby-on-rails heroku sendgrid mailer forgot-password

现在我正在使用Ruby on Rails 5开发我的首个网站。 我已经在Heroku上启动了我的网站。 在我测试时,我发现帐户激活链接和密码重置链接不是完全链接的事实,只是转到我网站的登录页面。 实际上UserMailer现在通过Heroku上的Sendgrid运行良好,用户收到确认电子邮件并且他或她点击了链接,然后没有进入密码重置页面,只是重定向到我的网站的登录页面:即https://mysite.herokuapp.com。 那是为什么?

我的production.rb文件如下。

config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => "mysite.herokuapp.com" }
config.action_mailer.perform_deliveries = true

ActionMailer::Base.smtp_settings = {
      :address        => 'smtp.sendgrid.net',
      :port           => '587',
      :authentication => :plain,
      :user_name      => ENV['SENDGRID_USERNAME'],
      :password       => ENV['SENDGRID_PASSWORD'],
      :domain         => 'mysite.herokuapp.com',
      :enable_starttls_auto => true
}

电子邮件模板的password_reset_html.erb也如下所示。

<h2>Password reset</h2>

<h5>To reset your password click the link below:</h5>

<%= link_to "Reset password", edit_password_reset_url(@user.reset_token, email: @user.email) %></a>
<p>This link will expire in 60 minutes.</p>

<p>
  If you did not request your password to be reset, please ignore this email and
  your password will stay as it is.
</p>

例如,确认电子邮件中的确认链接如下所示。 https://mysite.herokuapp.com/password_resets/X5_WORgqIw4eP7vdKins3g/edit?email=apolloyr%40yahoo.com

一切都很好,但最后一件事 - 确认链接重定向到我网站的目标网页,而不是转到密码重置页面。

在这种情况下我该怎么办?如果您有任何想法,请告诉我,我将不胜感激。

0 个答案:

没有答案