ActionView::Helpers::UrlHelper
def mail_to(email_address, name = nil, html_options = {}, &block)

説明

href 属性の値が mailto: で始まる <a> を作ります。

引数

値を変えると、ERB と HTML が変わります。

href 属性の値の、mailto: のあとの部分にします。@、.、-、_、~ を除く記号と空白は、%2B や %20 の形にします。引数の name を渡さないときは、この文字列を <a> の中身にします。
= nil
<a> の中身にします。中身はエスケープします。デフォルトでは引数の email_address を中身にします。Hash を渡すと html_options として扱うので、この引数を省いて html_options だけを渡せます。
html_options= {}
"Hello there"
渡した値を、href 属性の値の ? のあとに subject= で追加します。
"Hi,\nQ&A"
渡した値を、href 属性の値の ? のあとに body= で追加します。
"cc@example.com"
渡した値を、href 属性の値の ? のあとに cc= で追加します。
"bcc@example.com"
渡した値を、href 属性の値の ? のあとに bcc= で追加します。
"reply@example.com"
渡した値を、href 属性の値の ? のあとに reply-to= で追加します。reply-to は、key の _ を - にした名前です。key に文字列の "reply-to" を渡すと、そのまま <a> の HTML 属性になります。
"https://example.com"
渡しても使いません。href 属性の値は、いつも引数の email_address から作った mailto: の URL です。
ヘルパー共通の options

Rails はどのヘルパーでも、これらの options を同じように処理します。HTML の仕様で <a> に使えないものや、使う場面が少ないとこのサイトで判断したものは、ここでは省いています。

すべてのヘルパー共通

{active: true, hidden: false}
Hash を渡すと、値が false と nil 以外のキーを空白でつなぎます。配列を渡すと、nil、false、空の文字列(空白だけの文字列も)を外して、空白でつなぎます。
{controller: "tags", tags_suggestions_value: ["ruby", "rails"]}
Hash を渡すと、キーの _ を - にして、data-* 属性を追加します。値に配列や Hash を渡すと、JSON の文字列にします。
{describedby: ["name_help", "name_error"], invalid: false}
:data と同じく、aria-* 属性を追加します。値が配列なら、nil と空の文字列を外して、空白でつなぎます(何も残らなければ、追加しません)。値が Hash なら、値が false と nil 以外のキーを空白でつなぎます。
ここにない html_options は、<a> の HTML 属性になります。値が nil なら、その HTML 属性は追加しません。link_to と違い、method と remote もそのまま HTML 属性になります。

subject などの 5 つは、次のように href 属性の値に追加します。

  • & でつなぎます。並びは渡した順ではなく、cc → bcc → body → subject → reply-to の順です。
  • 値の @、空白、改行、& などは、%40、%20、%0A、%26 のような形にします。
  • 配列を渡すと、配列を文字列にしたもの(["a@example.com", "b@example.com"])を追加します。
  • 値が空の文字列か nil なら、追加しません。

ERB

直前との違い: 追加 削除 変更


          

HTML


          

プレビュー