私の外部記憶装置

ただの覚え書きです。ちょこちょこ見直して加筆・修正していますが、間違ってるかも😅

【Rails】「改行」をエスケープせずに表示する

【目次】


概要

「改行コード」を「エスケープされないHTMLタグ」に置き換えて表示する
エスケープの書き方 < 【Rails】クロスサイトスクリプティング(XSS)とその対策

書き方

書き方例

  • text_areaで入力した改行をエスケープせずに表示したケース
# app/helpers/application_helper.rb で定義する場合
module ApplicationHelper
  def display_line_breaks(original_text)
    original_text.nil? ? nil : safe_join(original_text.split("\n"), tag.br)
  end
end
<!-- ビューで上記のメソッドを使う -->
<!-- hoge:モデルのオブジェクト、piyo:カラム名 -->
<%= display_line_breaks(hoge.piyo) %>