Добавление www.Разработать электронную почту или Rails в целом? - PullRequest
2 голосов
/ 11 февраля 2012

Так что я использую Devise и в своих электронных письмах забыли пароль;он содержит следующее:

<%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %>

Проблема, с которой я столкнулся, заключается в том, что edit_password_url заставляет ссылку появляться в электронных письмах без 'www'.Я использую перенаправление 301 в моем application_controller, поэтому, когда пользователи нажимают на ссылку в своих электронных письмах;вместо этого он будет перенаправлен на домашнюю страницу.

Мой вопрос: есть ли способ сделать edit_password_url включающим www.в URL?Я использовал :protocol => "https" раньше, но не уверен, что это как-то сработает?

Спасибо, Джеймс Ф.

Ответы [ 2 ]

5 голосов
/ 11 февраля 2012

Просто добавьте :subdomain => 'www' в ваш хэш параметров edit_password_url

<%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token, :subdomain => 'www') %>
1 голос
/ 11 февраля 2012

Вы можете передать :host в качестве опции помощнику edit_password_url.

Также ознакомьтесь с разделом Создание URL-адресов в ActionMailer :: Base документация по настройке default_url_options.

...