テンプレート

テンプレートは、マルチパート電子メールの特定の形式の本文を含むファイルです。たとえばwelcome.html.erb、メッセージのHTML部分のマークアップについて説明し、テキスト部分についてはマークアップについて説明しwelcome.txt.erbます。

これは、メーラーのコンテキスト囲み、テンプレートエンジンを使用してレンダリングされます。

ネーミング

便宜上、ビューメーラー名とテンプレートファイル名の間に相関関係がある。これは、パスに名前の翻訳です:からMailers::ForgotPasswordforgot_password

残りの部分は、複数のファイル拡張子で構成されています。最初のものはフォーマットに関連し、後者はテンプレートエンジンのものです。

花見は電子メールのみを受け入れhtmltxtフォーマットします。


指定されたメーラーの
Mailers::ForgotPassword場合forgot_password.[format].[engine]、メーラーテンプレートディレクトリの下に少なくとも1つのテンプレートがなければなりません

カスタムテンプレート

別のテンプレートをメーラーに関連付けるには、使用することができますtemplate

# lib/bookshelf/mailers/forgot_password.rb
class Mailers::ForgotPassword
include Hanami::Mailer
template ’send_password'
end

私たちの見解はlib/bookshelf/mailers/templates/send_password.*テンプレートを探します。

エンジン

花見はテンプレートファイル名の最後の拡張子を調べ、使用するエンジンを決定します(例:welcome.html.erbERbを使用します)。組み込みレンダリングエンジンはERbですが、Hanamiは無数のレンダリングエンジンをすぐにサポートします。</p>

これはサポートされているエンジンの一覧です。これらは、指定された拡張子の優先度の高い順にリストされます。たとえば、ERubisがロードされている場合は、ERbよりもテンプレートをレンダリングする<code>.erb方が優先されます。

エンジン 拡張機能
エルビス erb、rhtml、erubis
ERb エルブ、rhtml
レッドカーペット マークダウン、mkd、md
RDiscount マークダウン、mkd、md
Kramdown マークダウン、mkd、md
マルク マークダウン、mkd、md
BlueCloth マークダウン、mkd、md
アシドドクター ad、adoc、asciidoc
ビルダー ビルダー
CSV rcsv
CoffeeScript コーヒー
WikiCloth wiki、mediawiki、mw
クレオール ウィキ、クレオール
エタニ etn、etanni
ハムル ハムル
もっと少なく もっと少なく
液体 液体
Markaby マブ
ノコギリ ノコギリ
プレーン html
RDoc rdoc
半径 半径
レッドクロス 繊維
サス 嫌な
Scss scss
スリム スリム
文字列 str
Yajl ヤーレ

別のテンプレートエンジンを使用するには、宝石をバンドルし、正しいファイル拡張子を使用する必要があります。

# lib/bookshelf/mailers/templates/welcome.html.haml
%h1 Welcome

テンプレートディレクトリ

テンプレートはmailers/templates、アプリケーションのディレクトリの下にあるデフォルトのディレクトリにあります。lib/bookshelfここで、bookshelfはアプリケーションの名前です。この場所をカスタマイズしたい場合は、Hanami :: Mailerの設定で別の値を設定することができます。

# lib/bookshelf.rb
# …

Hanami::Mailer.configure do
# …
root ’path/to/templates'
end.load!

アプリケーションは、下のテンプレートを探しpath/to/templatesます。