html.erb文件中的Linkify方法在视图中显示HTML

问题描述 投票:0回答:2

很抱歉,如果这是一个菜鸟问题,但我在@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
2个回答
0
投票
html_safe逃脱了HTML标签

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

OR

使用raw

<%= raw linkify_page(@page) %>

OR

只需使用<%==,它等于raw

<%== linkify_page(@page) %>

有关更多详细信息,请参见这些Guides

0
投票
使用rawhtml_safe

原始

<%= raw linkify_page(@page) %>

html_safe

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

© www.soinside.com 2019 - 2024. All rights reserved.