2017-07-24 77 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如果你对我的答案投票满意,并使其正确! –