調査不足なだけかもしれませんが、うまく検索に引っかからず・・・
ご教示いただければ幸甚です。
環境:MacOS Rails 5.2.2(Ruby 2.5.1)
【実現したいこと】
イベントをトリガーとして下記2つを実現したい
①ActionMaielrを利用してイベント毎に違った内容をメール通知する
②①で送信したメールの内容を専用テーブル(Notificationモデルと名付けました)に格納する
※②をアプリ内から参照可能にする
【困っていること】
②でメール送信データを取得し、その内容でNotificationモデルをcreate。
アプリケーションからも通知内容を参照できるようにしたいのですが、実現しているような記事が見つかりません。。
DB保存時に改めて内容を記述すれば行けそうですが、それでは管理が大変な気もしました。
【教えて欲しい内容】
①メール内容を任意のDBに保存するには、どうすれば良いでしょうか?
参考になりそうな記事などをご存知であれば、ご教示いただきたいです。
②メールやDBの内容(テンプレート)について、どのように管理されているでしょうか?
MailerのViewにそれぞれ書き出している感じでしょうか?
別でテーブルなり、Ja.yamalなどに書いている感じでしょうか?
そもそもの考え方が間違っているなどあれば、そこも含めて指摘をいただければと考えます。
駄文ではございますが、何卒よろしくお願いいたします。
【追記】
Mailerの本文はViewにhtml.hamlを作成し、haml形式で記述をしています。
以下に例を記述いたします。
rails
1 Mailer.rb 2 #ユーザ登録完了通知 3 def registration_confirmation(user) 4 @user = user 5 mail to: @user.email, 6 subject: '【●●●●】会員登録完了' 7 end
rails
1 registration_confirmation.html.haml 2 3%p 4 = "#{@user.nickname}さん" 5 %br 6 %br 7 ●●●にご登録いただきありがとうございます。 8 %br 9 会員登録が完了しました。
rails
1mail = UserMailer.registration_confirmation(user).deliver 2 3@notice = Notice.new(mail.subject,mail.body.encoded・・・) 4・・・ 5
最初mail.body.encodedでデータをとると64baseでエンコードされた状態でしたが、
先ほど確認したところhtml形式で中身を確認することができました。
上記の上で、そもそも考え方が違う、一般的な事例などご教示いただけると幸いです。
何卒、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー