Добавление домена в электронную почту Devise - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь добавить request.subdomain ко всем электронным письмам, отправленным Devise::Mailer.

У меня есть следующий html .erb файл reset_password_instructions.html.erb:

<p>Someone has requested a link to change your password, and you can do this through the link below.</p>

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

Я хочу добавить небольшую строку внизу, например:

<p><%= request.subdomain %></p>

Я попытался переопределить Devise PasswordsController и добавить модуль с вспомогательным методом, который передается в PasswordsController и поэтому доступен в вид. Я также изменил маршруты для использования этого нового контроллера:

PasswordsController:

require 'GetSubDomain'
class PasswordsController < Devise::PasswordsController
  helper GetSubDomain
end

Вспомогательный модуль:

module GetSubDomain
  def getSubDomain
    @request = request.subdomain
  end
end

Вид:

<p>Someone has requested a link to change your password, and you can do this through the link below.</p>

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

<p><%= @request %></p>

Маршруты:

devise_for :users, :controllers => {:passwords => 'passwords' }

@ запрос оказывается nil, хотя. Я не нашел ничего другого, что могло бы помочь мне сделать это. Есть идеи?

...