別のユーザーに電子メール メッセージを送信するフォームをユーザーに送信させようとしています。メールの本文を変数に保存してメーラーのビューに表示しようとしていて、「nil」になっていることを除いて、すべて正常に動作しています。user_mailer.rb をセットアップしました。
class UserMailer < ActionMailer::Base
default :from => "myemail@gmail.com"
def message_user(user, recipient, subject, body)
@user = user
@recipient = recipient
@body = "#{body}"
mail(:to => "#{recipient.name} <#{recipient.email}>", :subject => "Reelify message: #{subject}" )
end
end
ここに私の messages_controller.rb があります:
def new
@user = current_user
if !params[:receiver].blank? and !params[:subject].blank? and !params[:body].blank?
@recipient = User.find_by_name(params[:receiver])
UserMailer.message_user(@user, @recipient, params[:subject], params[:body]).deliver
flash[:notice] = "This flash means it should work.. #{@user.name} #{@recipient.name}"
end
終わり
ビューで @body を呼び出すと、空白 (@body.inspect) の結果が 'nil' になります。ただし、件名の代わりに #{body} のようにすると、テキストは正常に表示されます。
誰が何が起こっているのか手がかりを持っていますか?