【问题标题】:Rails function returns HTML-name characters instead of the actual characterRails 函数返回 HTML 名称字符而不是实际字符
【发布时间】:2010-11-26 08:36:11
【问题描述】:

我有一个函数:

def div
"<div>blah</div>"
end

在视图中:

<%= div %>

但在生成的页面源中:

&lt;div&gt;blah&lt;/div&gt;

而不是实际的字符串文本。

但是,控制台会显示正确的标签。

<% logger.info(div) %>

控制台中的输出:

<div>blah</div>

谁能帮忙?

【问题讨论】:

    标签: html ruby-on-rails


    【解决方案1】:

    改用这个。

    <%= raw div %>
    

    Rails 3 在视图中转义来自服务器的所有内容,如果您确定信任数据,可以使用 raw

    【讨论】:

      【解决方案2】:

      或者,如果您希望能够使用

      <%= div %>
      

      在你看来,你可以这样定义你的函数,它也可以工作:

      def div
        "<div>blah</div>".html_safe
      end
      

      【讨论】:

        【解决方案3】:

        是的,在 Rails 2 中文本默认是原始的,现在在 Rails 3 中反之亦然

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-05-16
          • 1970-01-01
          • 1970-01-01
          • 2014-04-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多