5

レールを3.2.8にアップグレードした頃、メールを作成して送信するときに本文が設定されていないようです。ActionMailerも3.2.8にアップグレードすることを除いて、今回はメーラー周辺のコードは変更されていません。

私は次の方法を使用していますbeta_request_mailer.rbapp/mailers

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

正常に機能した本文ファイルもあります。app/views/beta_request_mailer/beta_request_email.html.erb

メールは本文なしで正常に送信されています。コンソールで実行すると、beta_requestで作成されたメールオブジェクトは実行時に本文を持ちませんmail.body。ボディを手動で設定すると送信されます。

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

4

3 に答える 3

2

また、問題なく正しい件名で届いたメールを受け取っていましたが、メールに内容がなく、.deliverを使用していることがわかりました。.deliverメソッドだけでなく、問題が解決しました(理由はわかりませんが)

于 2012-11-15T17:25:29.607 に答える
1

ファイル名から_emailを削除することで修正

于 2012-08-28T22:13:52.080 に答える
1

私の解決策は非常に興味深いものでした。

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

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

  3. ==yield解決策は内部に追加することでしたmailer.html.slim

チャームのように機能します。これがあなたの問題であり、これがあなたを助けたことを願っています。

于 2015-06-21T19:53:45.020 に答える