Подтвердить что ты не робот

Rails 3 + devise: как сделать ссылки для подтверждения по электронной почте, используйте безопасный https (а не http)

Как я могу сказать, что 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:)

4b9b3361

Ответ 1

default_url_options принимает те же параметры хэша, что и url_for. Поэтому вы должны это сделать:

config.action_mailer.default_url_options = { :protocol => 'https', :host => 'app1.mydomain.com' }

Ответ 2

Чтобы установить протокол, но также и подкаталог:

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
    }

Источник