我正在尝试使用Nokogiri生成部分HTML文档,例如以下内容:
html_content = Nokogiri::HTML::Builder.new() do |doc|
# producing document here, redacted for brevity
end.to_html
Run Code Online (Sandbox Code Playgroud)
这工作得很好,除了有点跟不上:数据稍后将被调度到远程的Drupal供电的服务器,并呈现为页面的一部分,因此应该不包含最初的<!DOCTYPE html ...>声明.
我如何说服Nokogiri不生产DOCTYPE标签?或者Nokogiri的HTML构建器是错误的方法吗?
提前致谢.
为此,您可以使用文档片段和Builder.with方法,如下所示:
require 'nokogiri'
include Nokogiri
fragment = HTML.fragment('')
HTML::Builder.with(fragment) do |f|
f.div('foo')
end
fragment.to_html
# => <div>foo</div>
Run Code Online (Sandbox Code Playgroud)