0

Rails 3 で ActionMailer を使用してテキスト (html ではない) メッセージをレンダリングする場合、.text.erbファイルを作成して次のコードを実行するようにプログラマーに指示する多くのスレッドを目にします。

mail do |format|
  format.html
  format.text
end

...しかし、メーラー ビューをまったく使用せずに、非常に短いメッセージを表示したいと考えています。これをhtml形式で成功させましたが、プレーンテキストでは成功しませんでした。

次のコードを使用します。

mail do |format|
  format.html{ render( text: 'my text' ) }
  format.text{ render( text: 'my text' ) }
end

...しかし、毎回htmlメールを送信します。プレーンテキストの電子メールを送信し、その内容をメーラー ビュー ファイルなしで指定するにはどうすればよいですか?

4

1 に答える 1

2

ドキュメントから:

同じアクションに対して異なるテンプレートがある場合、Action Mailer は自動的にマルチパート メールを送信します。したがって、UserMailer の例では、app/views/user_mailer にwelcome_email.text.erb とwelcome_email.html.erb がある場合、Action Mailer は HTML バージョンとテキスト バージョンを別々のパーツとして設定したマルチパート メールを自動的に送信します。

ただ行う:

mail do |format|
  format.text{ render( text: 'my text' ) }
end

テキストメールのみをご希望の場合。

于 2013-02-11T19:36:22.837 に答える