【问题标题】:Displaying tags in Rails outputs literal html在 Rails 中显示标签输出文字 html
【发布时间】:2012-02-14 13:04:14
【问题描述】:

我正在制作一个简单的博客 Rails 应用程序,并尝试在此处输出指向标签的链接:Tags: <%= tag_links(@article.tags) %><br />。 Rails 似乎生成了正确的 html,但它在浏览器中显示为 Tags: <a href="/tags/1">ruby</a>, <a href="/tags/2">tutorial</a>(字面意思)。

我检查了源 html,它显示:Tags: <a href="/tags/1">ruby</a>, <a href="/tags/2">tutorial</a>,它似乎已转换为正确的标签,但按字面意思显示为文本而不是转换为 HTML。

【问题讨论】:

    标签: html ruby-on-rails ruby


    【解决方案1】:

    使用“html_safe”方法,如:

    <%= tag_links(@article.tags).html_safe %>
    

    或使用“原始”,例如:

    <%= raw tag_links(@article.tags) %>
    

    您应该将它们放在您自己的方法 (tag_links) 中的返回值处。例如,

    def tags_links
      html = ""
    
      html << link_to "some_where", some_url
    
      html.html_safe
    end
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      使用

      <%= raw tag_links(@article.tags) %>
      

      而不是

      <%= tag_links(@article.tags) %>
      

      raw 方法将绕过自动 HTML 转义。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-26
        • 2015-12-27
        • 1970-01-01
        • 2011-02-05
        • 2020-08-02
        • 2012-06-19
        • 1970-01-01
        相关资源
        最近更新 更多