Создать почту в Mailer, содержащую ссылки - PullRequest
0 голосов
/ 31 мая 2018

Я создаю письмо, которое работает нормально, пока я не добавляю ссылку в теле.Я хочу получить электронное письмо, которое будет отправлено получателю, как только ему будет отправлено сообщение на платформе.

<%= link_to "See message", @message %>, похоже, не работает.Есть ли конкретный подход к проблеме?Все, что я видел до сих пор, не очень понятно.

Сообщение об ошибке:

ActionController::UrlGenerationError in Rails::Mailers#preview

Файл Message-mailer.rb:

class MessageMailer < ApplicationMailer

  def new_message(message)
    @message = message

    @title = message.title
    @from_first_name = User.find_by_id(message.user_id).first_name
    @from_last_name = User.find_by_id(message.user_id).last_name


    mail to: @message.user.email,
         subject: "New Message: #{@message.title}"

  end
end

1 Ответ

0 голосов
/ 31 мая 2018

Почтовик не находится в стеке ответов, вам нужно указать хост или сделать его по умолчанию из env.

Аналогичный ответ Ссылка и Action Mailer Ссылка

<p>Hi <%= "#{@email}"%>,</p>
<p>
    Message Link: <%=  link_to "See Message", 
                        message_url(id: @message.id, host: "http://localhost:3000")%>    
</p>

# development.rb - for default
config.action_mailer.default_url_options = { :host => "localhost" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...