2017-07-24 78 views
0

我現在用的是降價軌寶石 https://github.com/joliss/markdown-rails 我有一個MD部分_privacy.html.md渲染MD文件部分在軌

#Privacy Policy 
Privacy policy .... 

後來,當我從一個ERB文件呈現此部分文件

<%= render :partial => "privacy" %> 

我得到

<h1>Privacy Policy</h1> <p> Privacy policy ....

它實際上將格式化的html呈現爲文本而不是HTML解釋的代碼。

回答

0

渲染MD文件在軌道作爲部分

嘗試這一個

require 'rubygems' 
require 'nokogiri' 

puts Nokogiri::HTML(my_html).text 

實施例:

require 'open-uri' 
require 'rubygems' 
require 'nokogiri' 

uri = 'https://stackoverflow.com/questions/45279017/render-md-file-as-partial-in-rails' 
doc = Nokogiri::HTML(open(uri)) 
doc.css('script, link').each { |node| node.remove } 
puts doc.css('body').text.squeeze(" \n") 

簡單的方式

html = '<div class="asd">hello world</div><p><span>Happy</span><br> to help</p>' 
puts ActionView::Base.full_sanitizer.sanitize(html) 

html.gsub(/<\/?[^>]*>/, ' ').gsub(/\n\n+/, '\n').gsub(/^\n|\n$/, ' ').squish 

希望這將幫助你!

+0

@Petran如果你對我的答案投票滿意,並使其正確! –