Rails 3 - Смена хоста Devise при генерации писем с подтверждением - PullRequest
0 голосов
/ 24 августа 2011

Поскольку мое приложение работает с поддоменами, мне нужно получить поддомен, который пользователь использует во время процесса регистрации.Это может быть сделано с помощью request.subdomain или моего пользовательского метода current_subdomain и работает во всех приложениях.

Но это никогда не произойдет в Devise.Моя последняя попытка была переопределить RegistrationsController, но безуспешно.

class RegistrationsController < Devise::RegistrationsController
  def new
    @subdomain = current_subdomain
    puts @subdomain + " ON NEW"
    resource = build_resource({})
    respond_with_navigational(resource, @subdomain){ render_with_scope :new }
    #super
  end

  def create
    @subdomain = current_subdomain
    puts @subdomain + " ON CREATE"
    super
  end
end

Не то чтобы puts отлично работал во время процесса.

Ссылка, сгенерированная в электронном письменаходится в представлении Devise по умолчанию, и я настроил его так:

<p><%= link_to 'Confirm!', confirmation_url(@resource, :confirmation_token =>
@resource.confirmation_token, :host => @subdomain+".lvh.me:3000") %></p>

Как обычно, он говорит, что мой поддомен - ноль.Как я могу это сделать?

Спасибо.

1 Ответ

0 голосов
/ 24 августа 2011

В вики разработчиков есть статья на эту тему:

Как: отправлять электронные письма с поддоменов

Devise использует конфигурацию ActionMailer, и ваш код не влияет на них.

...