🔥

[Rails]投稿時、text_area内での改行を反映させたい! 反映されない原因とcssで設定する方法

2023/03/27に公開

改行を反映させたい!!!

通常であれば...

テキストエリアを生成は以下のようになります。

:  省略
:
 <%= f.text_area :body %>
:

しかし、
投稿を作成し、form内で改行して投稿しても、投稿してみると以下のように改行が反映されない。

基本的に、以下2つはこのままでは反映されない

  • 連続した改行(空白のままの改行)
  • 段落(スペースキーで1文字分の空白を作る)

原因

通常はHTMLの<textarea>タグにwrap="off"属性が設定されている!!!
よって、半角スペースやタブ文字も反映されないのだ。

white-space属性をCSSで指定することで、改行を反映させる!!!!

では実際に記述すると...

  • 以下がform部分
:
<div class="form-group form-group__body">
  <label for="post_body">
    Body
  </label>
  <%= f.text_area :body, required: true, rows: 25, cols: 10, class: "form-control " %>
</div>
:
  • css(sass)設定
&__body {	
 white-space: pre-wrap;
}

これで、改行が反映されます!

Discussion