Используя код, сгенерированный restful_authentication, мы обычно получаем «localhost» в качестве URL-адреса в письмах о регистрации и активации. Я пытаюсь создать что-то вроде этого:
def signup_notification(user, host)
setup_email(user)
@subject += 'Please activate your new account'
@body[:url] = "http://#{host}/activate/#{user.activation_code}"
end
Однако, поскольку фактический вызов для доставки почты находится в Observer, я не могу сделать это:
UserMailer.deliver_signup_notification(user, request.host_with_port)
Так как метод запроса недоступен в моделях. Каков наилучший способ сделать это?
Я думал о том, чтобы сохранить URL-адреса для каждого домена в файле YAML и затем загрузить его при запуске, но затем порты могут измениться, поэтому он не будет работать.
В качестве альтернативы я думал о создании статической переменной класса, которая будет установлена при загрузке приложения, но я не знаю, как это сделать. Доступен ли метод запроса для инициализаторов?