0
1

More than 3 years have passed since last update.

連続した改行を画面に表示すると改行が1つにまとめられている。

Last updated at Posted at 2020-06-16

1)背景

以下の画像にある「コンテンツの登録」欄を見て下さい。全部で9行あります。

これを登録して、別画面でsimple_formatメソッドで表示すると、以下のようになります。

登録した通りの行数にするにはどうすれば良いでしょうか。対策を考えました。

2)環境

項目 内容
OS.Catalina v10.15.4
Ruby v2.5.1
Ruby On Rails v5.2.4.3

3)内容

対応1)ヘルパーメソッドを作成する。
他の方の記事も見たのですが、以下のようにヘルパーを作りました。

application_helper.rb
1 module ApplicationHelper
2   #連続した改行コードの場合、エスケープされるため明示的に改行タグを挿入する
3   def br(str)
4     str.gsub(/\r\n|\r|\n/, "<br />").html_safe
5   end
6 end

表示するときにこのヘルパーを以下の通りに呼び出して使用します。ヘルパー化すると、作るコストも低いので便利ですね。

test.html.erb
1   <div class="krown-value">
2     <%= br(@knowledge.content) %>
3   </div>

こんな感じで9行で表示されるようになりました。

以上です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1