【Rails】sample_formatでテキスト内の改行をview側に反映させる

こんにちは!CODE CLUB 965のKです!

今回は、RailsでViewにテキストを表示する際に、テキスト内に改行が入っているときにそれを反映させる方法について書きたいと思います。

simple_formatを使う

結論から言うと「simple_format」を使えば解決できます。

例えば、何も使わずにviewに表示する場合、

# controllerで以下の変数を作成
# @txt = "あいうえお\nかきくけこ\n\nさしすせそ"

# viewでの記述
<%= txt %>

これを実際に表示しようとすると、

あいうえお かきくけこ  さしすせそ

のように改行されずに表示されてしまいます。

そんなときに使うのが「simple_format」です。
上記の例をそのまま使うとして、viewでは以下のように記述します。

<%= simple_format(@txt) %>

こうすると、以下のように改行が反映されます。

あいうえお
かきくけこ

さしすせそ

ちなみに補足として、sample_formatの機能は以下のような感じになります。

・文字列を<p>で囲む
・改行には<br />を付与する
・連続した改行については、</p><p>を付与する

便利ですね!

最後に

もし、テキストの改行が反映されない!というときはsample_formatを使ってみて下さい!

それでは、また!

Follow me!