Cod*_*ama 17 ruby-on-rails ruby-on-rails-3
我有Person.description,下面存储在数据库中:
jnkl
fdsfdsf
fdsf
fsdfdsfs fds fd sf sdf ds
如何在视图中使用换行符显示此内容?它目前显示在一条线上,我不明白为什么.
Abr*_*ram 27
你应该使用simple_format帮助器:
<%= simple_format @person.description %>
Run Code Online (Sandbox Code Playgroud)
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
# File actionview/lib/action_view/helpers/text_helper.rb, line 301
def simple_format(text, html_options = {}, options = {})
wrapper_tag = options.fetch(:wrapper_tag, :p)
text = sanitize(text) if options.fetch(:sanitize, true)
paragraphs = split_paragraphs(text)
if paragraphs.empty?
content_tag(wrapper_tag, nil, html_options)
else
paragraphs.map! { |paragraph|
content_tag(wrapper_tag, raw(paragraph), html_options)
}.join("\n\n").html_safe
end
end
Run Code Online (Sandbox Code Playgroud)
ctc*_*rry 26
原因在于,在纯HTML中,除了包含'xmp'之类的标记之外,换行符不会呈现为换行符,因为大多数情况下它们都会被忽略.要让它们显示,您需要使用'br'标签替换它们,或者其他具有与之关联的样式或结构的东西,例如p标签,甚至是div,具体取决于内容.
这应该按照你的要求做:
@person.description.gsub(/\n/, '<br />')
Run Code Online (Sandbox Code Playgroud)
内置的Rails helper simple_format也可以使用p标签工作
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
我也用
@person.description.gsub(/\n/, '<br/>').html_safe
Run Code Online (Sandbox Code Playgroud)
在视图中显示它们
| 归档时间: |
|
| 查看次数: |
10311 次 |
| 最近记录: |