Ruby on rails rails助手-如何让助手给我一个`<;br/>;`(或其他标记)
我的助手的工作方式如下:Ruby on rails rails助手-如何让助手给我一个`<;br/>;`(或其他标记),ruby-on-rails,ruby,Ruby On Rails,Ruby,我的助手的工作方式如下: def some_help(in_string) in_string + " and more" end 但是我想在输出之前对a进行,我一直从字面上获取字符本身,也就是说,不是中断,但我想要的是一个,这就是问题所在 所以 def一些帮助(以字符串形式) “”“字符串中的+以及更多” 结束 不正常。我不确定我是否理解你的意思。您在字符串中添加了,并且当您希望它具有换行符的效果时,它保持为纯文本?如果是这样,您必须将字符串标记为html安全的。您可以使用“somes
def some_help(in_string)
in_string + " and more"
end
但是我想在输出之前对a进行,我一直从字面上获取
字符本身,也就是说,不是中断,但我想要的是一个
,这就是问题所在 所以
def一些帮助(以字符串形式)
“
”“字符串中的+以及更多”
结束
不正常。我不确定我是否理解你的意思。您在字符串中添加了
,并且当您希望它具有换行符的效果时,它保持为纯文本?如果是这样,您必须将字符串标记为html安全的。您可以使用“somestring”来执行此操作。html\u safe
Rails会自动转义html字符。在字符串上使用.html\u safe
。您也可以使用“content\u tag”视图帮助器
使用标记(:br)
而不是“
”
content\u标签(:br)
创建打开和关闭br
标签,而使用raw
或html\u-safe
是很难看的(更不用说危险)。通常情况下,你会特别提到,不起作用。为什么使用raw
或html\u-safe
是危险的?如果您对用户输入使用raw
和html\u-safe
,却忘了逃避该输入,您将面临XSS攻击<代码>原始(“{h user\u input}”)可以但是
原始(
{h user\u input}”)是危险的。区别在于h
方法,它是方法html\u escape
的别名。
def some_help(in_string)
"<br/>" + in_string + " and more"
end
def some_help
content_tag(:br) + "some help"
end