Ответ 1
default_url_options
принимает те же параметры хэша, что и url_for
. Поэтому вы должны это сделать:
config.action_mailer.default_url_options = { :protocol => 'https', :host => 'app1.mydomain.com' }
Как я могу сказать, что Devise использует https (а не http) для всех ссылок на подтверждение аккаунта и напоминаний и т.д.?
[примечание: я не ищу решение для перенаправления всех http на https, мне просто нужно разработать, чтобы ссылки, которые он создает, использовали https]
В нашем приложении rails 3 используется приложение, и приложение работает отлично под https, однако при разработке всегда используется HTTP для подтверждения по электронной почте, а пароль связывает его с пользователями.
В наших файлах среды я попытался изменить:
config.action_mailer.default_url_options = { :host => "app1.mydomain.com" }
к
{ :host => "https://app1.mydomain.com" }
но предсказуемое создание создает ссылки, которые выглядят как http://https//app1.mydomain.com.... (например, он добавляет настройки: host с помощью http:)
default_url_options
принимает те же параметры хэша, что и url_for
. Поэтому вы должны это сделать:
config.action_mailer.default_url_options = { :protocol => 'https', :host => 'app1.mydomain.com' }
Чтобы установить протокол, но также и подкаталог:
config.action_mailer.default_url_options = {
:host => "www.example.com",
:protocol => 'https',
:only_path => false,
:script_name => "/app" #add this attribute if your app is deployed in a subdirectory
}