Rails5 で escape_javascript を使う
Ruby Ruby on Rails
Published: 2019-06-12

やったこと

Rails5 で escape_javascript を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

調査

例えば、下記の view ファイルに書いてみます。

app/views/tasks/new.html.erb

<span>
<%= escape_javascript("111
222") %>
</span>
<span>
  <%= escape_javascript("<script>alert(1111);</script>") %>
</span>
<span>
<%= "333
222" %>
</span>

出力結果

<span>
111\n222
</span>
<span>
  &lt;script&gt;alert(1111);&lt;\/script&gt;
</span>
<span>
333
222
</span>

改行もエスケープされてます。

参考