繁体   English   中英

Ruby on Rails Helper方法 - HTML显示为纯文本

[英]Ruby on Rails Helper Method - HTML is displayed as plain text

我为我的Rails应用程序提供了一个帮助方法,该方法返回一个包含Google Groups订阅表单HTML代码的字符串。 不幸的是,它出现在页面上,就像纯文本一样。 如何强制它呈现为HTML? 提前致谢。

你的助手的结果需要在Rails 3中标记为“html_safe”。否则,标签将被转义。

def my_helper
  data = "<p>Hello!</p>"
  data.html_safe
end

我想这是Rails html sanitize的一个问题。 来自rails changelog

您不再需要调用h(字符串)来转义HTML输出,默认情况下它在所有视图模板中都处于打开状态。 如果你想要未转义的字符串,请调用raw(字符串)。

试试吧

需要注意的一件事是加入这样的多个字符串

def custom_check_box(checked)
    '<span class="my-custom-checkbox '+( checked ? 'checked' : '')+'"></span>'.html_safe
end

在这种情况下,只有最后一部分被标记为html safe。 确保你得到了整个东西。

def custom_check_box(checked)
    ('<span class="my-custom-checkbox '+( checked ? 'checked' : '')+'"></span>').html_safe
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM