ムカデノワラジ

ムカデノワラジ

ガジェット・Webサービス・プログラミング・エンタメについて書く雑記ブログ

MENU

Ruby on RailsのViewでtextareaで入力された文字列の改行を反映する

RailsのViewでtextareaで入力した内容を表示するときに、改行を反映する方法

結論だけ言うと=simple_format()を使う

 

たとえばtitle: stringとcontent: textをもつBlogPostモデルがあり、以下の様に投稿画面でtext_fieldでtitle、textareaでcontentを入力してサーバーにポストする時

 

title  title_name

content

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 

 

これを保存し、別のviewたとえばshow.html.erbやshow.html.hamlで表示するとき、

<% @post = BlogPost.find(n) %>

<%=@post.content%>

で@post.contentを表示すると入力したときの改行が反映されない。

そういうときは

<%= simple_format(@post.content) %>

とすることで改行を反映させられる。