rails text_areaで改行入力→そのまま表示させる。
ぶっちゃけこちらの記事参照しただけです笑
https://qiita.com/kamotetu/items/1aa94994985c720668e4
form_forやform_withで
テキスト入力時に改行→全然できてなーい!
ってなりました。
ちゃんとそのまま表示させたいなと。
問題
入力フォーム
new.html.erb
<div class="from-group mb-4">
<%= f.label :introduction, "紹介文", class: "form-label" %><br />
<%=f.text_area :introduction, class: "form-control", id:"user-introduction", size: "90x5", maxlength: "1000", placeholder: "紹介文を書く"%>
</div>
show.html.erb
解決法
show.html.erb
<%=safe_join(@user.introduction.split("\n"),tag(:br))%>
show.html.erb
<%=safe_join(@user.introduction.split("\n"),tag(:br))%>
この記述は
- 連続した改行(空白のままの改行)
- 段落(スペースキーで1文字分の空白を作る)
といったことが可能になります。
ちなみに
入力ホームにバリデーションかけてない際、空白で送信した場合エラーになりました。
そんな時は
show.html.erb
<%if @user.introduction.nil? %> # 紹介文が「空」のままだとエラーが出るのでnil?=trueの時を追加
<%[email protected]%> # バリデーションは無し
<% else %>
<%=safe_join(@user.introduction.split("\n"),tag(:br))%> # 紹介文が「空」じゃない時は正常に反映する
<%end %>
で解決しました。
Author And Source
この問題について(rails text_areaで改行入力→そのまま表示させる。), 我々は、より多くの情報をここで見つけました https://qiita.com/Makun_wazo_ski/items/aff9a366214ad97dc335著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .