2016-02-03 6 views
0

У меня динамический хост в моем приложении rails и в соответствии с этим я отправляю свои письма. Я использую actionmailer, а в представлениях я хочу связать некоторые ссылки.Динамический хост в ActionMailer не работает

notification_mailer.rb

class NotificationMailer < ApplicationMailer 

def new(email) 
    @url = root_url 
    mail(to: email, subject: 'XYZ') 
end 

new.html.erb

<%= link_to 'visit', @url %> 

application_controller.rb

before_action :mailer_set_url_options 

ActionMailer::Base.default_url_options[:host] = request.host_with_port 

Я отдал все, что нужно, но все еще получаю ошибки не говоря не хозяин найден. И я вызываю почтовый ящик уведомлений от sidekiq.

ответ

0

Попробуйте передать запрос при вызове действия почтовой программы.

class Your_MailerClass < ActionMailer::Base 
    def your_mailer_action(request) 
    Your_MailerClass.default_url_options[:host] = request.host_with_port 
    end 
end 
+0

спасибо. Да, это то, что я сделал в конце, но его плохой взлом нет:/ –

+0

Но его неправильный ответ. Я ищу что-то более разумное, которое можно запустить от рабочего и рабочего. –

Смежные вопросы