【问题标题】:Linkify Method in html.erb file showing up with HTML in viewhtml.erb 文件中的 Linkify 方法在视图中显示为 HTML
【发布时间】:2014-05-16 05:52:52
【问题描述】:

对不起,如果这是一个菜鸟问题,但我在 @page 实例变量上调用了以下方法,并且视图正在填充 html 标记...

module PagesHelper
  def linkify_page page
    regex = /\[\[([^|]+)\|(\w+)\]\]/
    page.text.gsub(regex) do |link|
      caps = regex.match(link)
      linked_page = page.adventure.pages.where(:name => caps[2]).first
      link_to(caps[1], adventure_page_path(page.adventure_id, linked_page.id))
    end
  end
end

show.html.erb

<%= linkify_page(@page) %>

视图中的结果...

I can't wait to <a href="/adventures/1/pages/2">see the end</a>

【问题讨论】:

    标签: html ruby-on-rails erb linkify


    【解决方案1】:

    html_safe 转义 HTML 标签

    <%= linkify_page(@page).html_safe %>
    

    使用raw

    <%= raw linkify_page(@page) %>
    

    只需使用&lt;%==,它相当于raw

    <%== linkify_page(@page) %>
    

    更多详情,请查看Guides

    【讨论】:

      【解决方案2】:

      使用rawhtml_safe

      原始

      <%= raw linkify_page(@page) %>
      

      html_safe

      <%= linkify_page(@page).html_safe %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-29
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        • 1970-01-01
        • 2018-03-11
        相关资源
        最近更新 更多