如何让simple_format不将返回的值包装在p标签中?
simple_format "<span class="required">*</span>"
答案 0 :(得分:10)
不幸的是 - 你做不到。如果您在http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format查看来源,则会看到p标签无条件地包裹在内容中。
您可以创建一个使用simple_format代码的帮助程序,但修改它不包含p标记...
答案 1 :(得分:5)
您可以指定wrapper_tag
选项。
simple_format 'Hello', {}, wrapper_tag: 'span'
此代码将为:
<span>Hello</span>
答案 2 :(得分:2)
可能不是你真正想要的,但是......我最终做到了这一点:
module ApplicationHelper
def nl2br s
split_paragraphs(sanitize(s, tags: [])).join('<br>').html_safe
end
end
UPD 或者更好:
def nl2br s
sanitize(s, tags: []).gsub(/\n/, '<br>').html_safe
end
答案 3 :(得分:0)
如果您只是想摆脱浏览器样式,有一个解决方法:
simple_format "<span class="required">*</span>", {}, wrapper_tag: 'p style="margin: 0"'
...hackedy-hack-hack...