はじめに
Rails での改行を反映させる方法について、フォームやテキストエリアでの記事は見かけますが、ヒアドキュメントでの記事はあまり見かけないので、簡単に書いてみました。
やり方としては他と変わりません。
実行までの大まかな流れ
- userインスタンスの生成
- user.introduce を実行し、ヒアドキュメントを@msgに代入
- 受け取ったデータをビューで表示
# controller
class HomesController << ApplicationController
def index
user = User.new
@msg = user.introduce
end
# model
class User
def introduce
end
def introduce
<<~EOS
テキスト
テキスト
テキスト
EOS
end
# views
<%= @msg %>
# 実行結果
#=> テキストテキストテキスト
実はこれだとヒアドキュメントの改行は反映されません。
どうすれば改行まで反映されるのか。
simple_format メソッド
出力したいものに simple_format
を使うだけです。
これでヒアドキュメントの改行が反映されます。
# views
<%= simple_format(@msg) %>
# 実行結果
#=> テキスト
# テキスト
# テキスト
結果
simple_format
を使うと\n
などの改行を <br />
タグに変換してくれる。