LoginSignup
1
1

More than 5 years have passed since last update.

Railsで複数行のテキストを表示する

Last updated at Posted at 2018-02-06

方法が色々ありすぎていつも迷うのですが、simple_formatとsanitizeの組み合わせが今の所ベストな予感(別解が出てきたら追記します)。注意点はsanitizeでpタグも許可しておかないと、改行がおかしくなってしまうところでしょうか。

pとbrを許可:

> helper.sanitize(helper.simple_format("1\n2\n\n3\n"), tags: %w(p br))
=> "<p>1\n<br>2</p>\n\n<p>3\n</p>"

brだけ許可した場合(うまくいかない):

> helper.sanitize(helper.simple_format("1\n2\n\n3\n"), tags: %w(br))
=> "1\n<br>2\n\n3\n"

pタグを混ぜたくない場合は、普通に gsub に頼るのがシンプルかも。

> helper.sanitize("1\n2\n\n3\n".gsub(/\n/,"<br>"), tags: %w(p br))
=> "1<br>2<br><br>3<br>"

参考URL:

1
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
1
1