Ruby on rails flash错误中的HTML换行符?

Ruby on rails flash错误中的HTML换行符?,ruby-on-rails,Ruby On Rails,我有一个带有html换行符的flash[:error]。当它被显示时,它会按字面意思显示,而不是将其解释为html和中断。这是我的错误: flash[:error] = "Format of search criteria is wrong.<br />Should be [ IXLSpecClass value][year]-[Message ID] for example GP07-8" flash[:error]=“搜索条件的格式错误。应为[ IXLSpecClass值]

我有一个带有html换行符的flash[:error]。当它被显示时,它会按字面意思显示

,而不是将其解释为html和中断。这是我的错误:

  flash[:error] = "Format of search criteria is wrong.<br />Should be [
IXLSpecClass value][year]-[Message ID] for example GP07-8"
flash[:error]=“搜索条件的格式错误。
应为[ IXLSpecClass值][年份]-[消息ID]例如GP07-8“
这是因为如果查看源代码,它可能如下所示:


或者简单地说:
br/


这是因为html可能是在该行的某个位置转义的。

这是因为如果查看源代码,它可能如下所示:


或者简单地说:
br/


这是因为html可能是在某个时候转义的。

是的。由于Rails 3中的字符串(您在Rails 3中,对吧?)默认情况下是转义的,因此您需要进入模板,而不是
flash[:error]
,您需要打印
flash[:error].html\u safe
,以避免自动转义。

是的。由于Rails 3中的字符串(您在Rails 3中,对吗?)默认情况下是转义的,因此您需要进入模板,而不是
flash[:error]
您需要打印
flash[:error].html\u safe
,以避免自动转义。

好,下面是显示flash消息的代码:
“flash#{name}”%>
如果我将其更改为
id=>“flash#{name}.html\u安全“%>
它不会做任何事情很高兴你解决了它:)请记住,尽管这会带来安全风险:如果你在flash消息中插入不安全的内容,除非你在控制器中进行转义,否则它将无法转义,这很复杂。所以在坚持这个解决方案之前要仔细考虑。@Matchu,很高兴你补充了这个警告。我正在解决这个问题,在阅读了您的评论后,我决定在flash消息中加粗我的用户名并不重要,因为它不足以证明这一额外的安全风险。好的,下面是显示flash消息的代码:
“flash#{name}”%%>
,如果我将其更改为
id=>“flash#{name}”.html_safe“%>
它不会做任何事情很高兴你解决了它:)请记住,尽管这会带来安全风险:如果你在flash消息中插入不安全的内容,除非你在控制器中进行转义,否则它将无法转义,这很复杂。所以在坚持这个解决方案之前要仔细考虑。@Matchu,很高兴你补充了这个警告。我正在解决这个问题,在阅读了您的评论后,我决定在flash消息中加粗我的用户名并不重要,因此无法证明这一额外的安全风险是合理的。