2012-08-24 4 views
5

メールを作成して送信するときに、本体が3.2.8にアップグレードされる頃にボディが設定されていないようです。この時点でメーラーの周りのコードは変更されていませんが、ActionMailerも3.2.8にアップグレードされています。ActionMailerが空のボディでメールを送信する

私は次の方法でapp/mailersbeta_request_mailer.rbを持っている:app/views/beta_request_mailer/beta_request_email.html.erb

メールはただの体ずに、細かい送信されている:

def beta_request(request) 
    mail(
    :to => "#{request[:name]} <#{request[:email]}>", 
    :subject => 'Thanks for requesting an invite to xxxxx!' 
) 
end 

私もうまく働いた身体ファイルを持っています。コンソールで実行中、beta_requestで作成されたメールオブジェクトには、mail.bodyを実行すると本文がありません。私がボディを手動で設定すると、それが送出されます。

私が気付いていない変更点は何ですか?

答えて

1

は、ファイル名から_emailを除去することにより、固定

+0

+1私の#actionが私のビューと同じ名前を持つことを確認しなければなりませんでした – you786

2

私もOK到着し、正しい対象とが、メール内のコンテンツのないと.deliverを使用していることを見つけた電子メールを得ていました! .Deliverメソッドの代わりに問題を解決しました(理由はわかりません)

+2

'deliver! '(' deliver'とは対照的に)はemailのようなコールバックをスキップします[インターセプタ](http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails)を参照してください。したがって、注意して使用する必要があります。 – nickcoxdotme

1

私のソリューションは非常に興味深いものでした。

  1. 私のRails 4アプリケーションは、メーラー用のレイアウトファイルなしではエラーが発生します。

  2. 空白のレイアウトファイルmailer.html.slimを作成しました。その結果、メールは配信されましたが、コンテンツはありませんでした。

  3. ソリューションは、魔法のように==yield

mailer.html.slim内部の作品を追加しました。これがあなたの問題であり、これがあなたを助けてくれることを願っています。

関連する問題