我正在使用markdown rails gem https://github.com/joliss/markdown-rails 我有一个md partial _privacy.html.md
#Privacy Policy
Privacy policy ....
然后当我从erb文件中渲染这个部分文件时
<%= render :partial => "privacy" %>
我得到了
<h1>Privacy Policy</h1> <p> Privacy policy ....
它实际上将格式化的html呈现为文本而不是html解释代码。
答案 0 :(得分:-1)
将md文件渲染为rails中的部分文件
试试这个
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
希望这会对你有帮助!