発生している問題・エラーメッセージ
ApplicationMailerクラスを継承するクラス内で、noticeというメソッドを定義している。
それを以下のように呼び出しているが、@param4を追加するとメールが送られない。
@param4はなんてことないただの文字列です。
定義している側には引数は追加しています。
該当のソースコード
Controller
Ruby
1SomthingMailer.notice(@param1, @param2,@param3, @param4).deliver_later
Mailer
Ruby
1class SomthingMailer < ApplicationMailer 2 def something_notice(param1, param2, param3, param4) 3 @param1 = param1 4 @param2 = param2 5 @param3 = param3 6 @param4 = param4 7 8 @subject = "メールタイトルは#{@param1}です" 9 mail subject: @param1, to: @param2, cc: @param3, from: "#{@param3.name} <test@com>", &:text 10 end 11end
View
Haml
1#{param2.name 'さん'} 2#{param4} 3= render 'mailer/footer'
ruby 2.5.3
Rails 6.0.0
何か教えていただけますと助かります。
よろしくお願い致します。
あまりに情報が少なすぎます。メーラーやビューなどもどのように書いているかの提示が必要かと思いますし、そしてエラーログにエラーが記録されていないかご確認ください。
ご指摘ありがとうございます。
ソースをそのまま乗せることが出来ませんので、一部改変して載せました。
また、エラー等は特に出ていません。
一部のparam2の2が全角になっていますが、これは元のソースとは無関係でしょうか。
そちらは無関係です。
すみません。
something_noticeメソッドでのエラーなのか、hamlでのエラーなのか切り分けはできますか?
たとえば、hamlの文字列を変数展開でなく固定文字列で試すとか。
あと、メソッド名がsomething_notice なのですが、SomthingMailer.notice(@param1, @param2,@param3, @param4).deliver_later と呼んでいるところは、タイプミスでしょうか?
それとも別の noticeメソッドがあったりしますか?
回答1件
あなたの回答
tips
プレビュー