LoginSignup
2
0

More than 5 years have passed since last update.

ActionMailer::Prevew を利用してプレビューする際に、途中で作ったDB内の情報をロールバックする

Last updated at Posted at 2018-01-21

https://blog.bearandgiraffe.com/rails-email-previews-e2c7b79839a0
上記のようなPreview内でロールバックする実装でいけるのかと思ったのですが、自分の手元ではどうもロールバックできなかったです。

多分これでいいんじゃないかなーと思うんだけど、やったことを残しておくために一応エントリ作っておく。もしも上手く動かなかったら教えてください。手元ではいい感じに思っています。下記のクラスを基底にすればいけると思う。

class BasePreview < ActionMailer::Preview
  # メールのプレビューを作る際に作ったDB内の情報はロールバックする
  def self.call(email)
    ret = nil
    ActiveRecord::Base.transaction do
      ret = super
      raise ActiveRecord::Rollback
    end
    ret
  end
end
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0