2

text_areaユーザーが自分の経歴を入力できるタグがあります。ユーザーがタイイング中に Enter キーまたは Return キーを押すと、新しい行が開始されます。しかし、入力を保存すると、すべてのテキストが 1 つの段落に表示されます。スタック オーバーフローと同様の機能が必要です。

例 - 今すぐエンターを押します

このテキストは新しい行に表示されます*

これどうやってするの?

This is my code in Rails:

<%= form_for :profile do |profile| %>
    <%= profile.text_area :bio %>

<%= f.submit "Save Bio" %></p>
<% end %>
4

2 に答える 2

7

ckeditorなどのテキスト エディターを使用して(Web コンテンツの作成を簡素化するため)、ビューでsimpleformatまたはrawを試してください。

<%= simple_format("Here is some basic text...\n...with a line break.") %>
<%= raw("Here is some basic text...<br/>...with a line break.") %>
于 2013-09-09T06:32:07.950 に答える
4

これを処理するには多くの方法があります。テキスト領域に以前に入力したテキストを表示すると、次のことができます。

  1. <br/>改行文字をタグに置き換える
  2. タグを使用<pre>し、そのタグ内にテキストを表示する
  3. テキストを改行文字で分割し、各チャンクを<p>タグにラップします

アプローチ 1 または 3 を使用する場合は、rawテキスト内のすべてのタグが表示されるように、ヘルパーを介してテキストを渡すようにしてください。ただし、ユーザーがテキストエリア内で任意の html を渡す可能性があるため、コードが xss 攻撃を受ける可能性があることに注意してください。

于 2013-09-09T06:30:04.490 に答える