我的 ApplicationHelper 中有一个函数,以及一个用于预渲染的控制器中的精确副本。预渲染以我想要的方式创建链接,target="_blank",但现场渲染不会。我的代码如下:
require 'redcarpet'
module ApplicationHelper
def markdown(text)
rndr = Redcarpet::Render::HTML.new(:link_attributes => Hash["target" => "_blank"])
markdown = Redcarpet::Markdown.new(
rndr,
:autolink => true,
:space_after_headers => true
)
return markdown.render(text).html_safe
end
end
在 rails 控制台中运行它也会正常呈现链接,但没有链接属性。我的控制器中的相同代码按预期工作。