ruby-on-rails - Action Mailer around_action 回调

标签 ruby-on-rails ruby-on-rails-4 actionmailer

我有这个,

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 的值?如上图?我试过了,但没有成功。任何人都可以帮助我或澄清这一点。搜索了有关此主题的先前问题并找到了使用 around_action 的人仅用于异常处理。我们不能用 around_action像这样?

最佳答案

试试邮件文件夹:

您的文件名.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

关于ruby-on-rails - Action Mailer around_action 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157115/

相关文章:

ruby-on-rails - 为什么可以在 Rails 模型类中调用回调?

ruby-on-rails - HTML5 Boilerplate 对 Rails 应用程序的值(value)是什么?

ruby-on-rails - gitlab6.0,错误连接被拒绝 - connect(2) (Errno::ECONNREFUSED)

ruby-on-rails - Ruby on Rails 4 查找等价的订单和限制

ruby-on-rails - ActionMailer 缺少 'template',但仅在测试模式下运行时...直接调用 ActionMailer 基类

ruby-on-rails - 坏组件(预期的主机组件): received when running a rake task to send email with roadie on heroku

ruby-on-rails-4 - Rails 4 Action Mailer 预览和 Factory Girl 问题

ruby-on-rails - 是否有用于 Rails 测试的 setup_class/teardown_class?

html - erb 在空格处打断字符串?

ruby - 基于rails4中关联表的关系排序