0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

投稿フォームでの改行を反映するには

Last updated at Posted at 2023-06-14

解決したい問題

フォームオブジェクトで作ったフォームから投稿すると投稿時の改行が反映されない。

解決法

app/views/dialog.html.erb

<%= h(@dialog.memo).gsub(/\n|\r|\r\n/, "<br>").html_safe %>

h(@dialog.memo)
hメソッドは、渡された文字列をHTMLエスケープするためのメソッドです。これにより、悪意のあるスクリプトやHTMLタグが表示されないようになります。

gsub(/\n|\r|\r\n/, "<br>")
gsubメソッドは、正規表現を使用して文字列内の特定のパターンを別の文字列に置換するためのメソッドです。ここでは、改行文字(\n)、復帰文字(\r)、および復帰と改行の組み合わせ(\r\n)を
タグに置換しています。つまり、改行をHTMLの改行タグに変換しています。

html_safe
html_safeメソッドは、文字列をHTMLとして解釈するためのメソッドです。これにより、HTMLタグが実際にHTMLとして表示されます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?