ActionView::Helpers::JavaScriptHelper
def javascript_tag(content_or_options_with_block = nil, html_options = {}, &block)

説明

JavaScript を中身にした <script> を作ります。

引数

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

<script> の中身にします。中身の前後に、//<![CDATA[ と //]]> の行を足します。中身はエスケープしません。
html_options= {}
"module"
渡した値を type 属性の値にします。
true にすると、CSP の nonce を nonce 属性の値にします。このサイトは CSP を設定していないので、何も追加しません。false なら nonce 属性を追加せず、文字列なら、それを値にします。
ヘルパー共通の options

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

すべてのヘルパー共通

{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 は、<script> の HTML 属性になります。値が nil なら、その HTML 属性は追加しません。

ERB

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


          

HTML