Action Mailer - PullRequest
       22

Action Mailer

2 голосов
/ 10 февраля 2020

У меня есть это,

class SiteMailer < ApplicationMailer
around_action :set_sales

 def notify_customer(site)
   @site = site
 end

private

 def set_sales
   @sales ||= @site.customer.sales
 end
end

Можно ли установить значения для @sales, как показано выше? Я пытался, но не смог добиться успеха. Может кто-нибудь помочь мне или сделать это ясно. Поиск по предыдущим вопросам по этой теме c и обнаружение людей, использующих around_action только для обработки исключений. Разве мы не можем использовать around_action как это?

1 Ответ

1 голос
/ 11 февраля 2020

пример на папку почтовой программы:

yourfilename. html .erb

<p> lorem ipsum <%= @site %>!</p>
<p> lorem ipsum <%= @sales %>!</p>

На модели site.rb

class Site < ApplicationRecord
.............
protected
  after_commit :set_sales, on: [:update #your action]
  def set_sales
    site = self.site
    sales = site.customer.sales
    SiteMailer.notify_customer(site, sales).deliver_now
  end
end

..............................

class SiteMailer < ApplicationMailer
  def notify_customer(site, sales)
    @site = site
    @sales = sales
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...