我有一个text_area
标签,允许用户输入他的Bio。当用户敲打并且如果他命中输入或返回时,则开始换行。但是当他保存输入时,所有文本都显示在一个段落中。我想要的功能类似于堆栈溢出。
例如 - 我现在点击进入
此文字显示在新行*
上我该怎么做?
This is my code in Rails:
<%= form_for :profile do |profile| %>
<%= profile.text_area :bio %>
<%= f.submit "Save Bio" %></p>
<% end %>
答案 0 :(得分:7)
您应该使用文本编辑器,例如ckeditor(以简化网页内容创建),并在视图中尝试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.") %>
答案 1 :(得分:4)
有很多方法可以解决这个问题。当显示先前在文本区域中输入的文本时,您可以:
<br/>
标记替换换行符<pre>
标记并在该标记内显示文字<p>
标记使用方法1或3时,请确保通过raw
帮助程序传递文本,以便显示文本中的任何标记。但请注意,该用户可能会在textarea中传递任意html,因此您的代码可能会受到xss攻击。