我有一个帮助方法,在格式化后返回一个字符串,包括添加换行符。
我在视图中调用此辅助方法,并尝试显示此格式化字符串。
我使用“\ n”或“\ r \ n”来引入换行符,但这只会在浏览器中显示为空格。
答案 0 :(得分:1)
您应该使用<br>
或创建tag('br')
:
your_string = "test string" + tag('br')
your_string.html_safe #return your string
正如@max正确指出的那样,从安全漏洞(XSS)方面,您可以对用户提供的文本使用h()
,该文本会将您的字符串转换为安全字符串,并允许您安全地调用html_safe
在完整的字符串上。
答案 1 :(得分:0)
我犯的一个错误是在辅助方法中使用了raw(string)而不是在视图中使用它,它仍然显示为'smth
smth',因此请注意。
我的代码看起来像这样
td= helper_method()
当我将其更改为以下内容时,它会起作用:
td= raw(helper_method())