deviseで使っているモデルごとにメールテンプレートを切り替える
deviseを使って、既存Userとは別にCustomerというモデルを定義して、認証を実装しようとしている。実装を進めていくとcontrollerはモデルごとに自然と定義ができるんだけど、メールテンプレートだけはDevice.mailerに引っ張られてしまう。
率直な反応は、モデルごとのメーラーを使って欲しい・登録したい、という感情が湧いた。
Device.mailerを複数定義できないかソースを読んだリイシューを調べていたが、複数のメーラークラスを定義したいという需要はないことがわかってきた。引き続きソースを読んでいるとscoped_viewという設定があって、これを有効にすればモデルごとのテンプレートを使うことができた。
https://github.com/heartcombo/devise#configuring-views
https://github.com/heartcombo/devise/wiki/How-To:-Use-custom-mailer
おわり
-
category:
- ruby