Использование рельсов 3.0.7 и рубина 1.9.2.
Я использую Nokogiri для создания собственного XML. Я вызываю файл частичного построителя в файле основного вида. Но класс, используемый частично для xml, не является Nokogiri. Кто-нибудь может объяснить, почему класс xml не Nokogiri?
index.xml.erb
<%= Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml|
puts "xml class in main file #{xml.class}"
xml.users {
@users.each do |user|
xml << render(:partial=>"users/user", :locals=>{:user=>user, :xml => xml})
end
}
}.to_xml.html_safe
%>
_user.builder
puts "xml class in builder file #{xml.class}"
xml.user {
xml.id user.id
xml.name user.name
xml.email user.email
}
В application.rb, используя:
ActiveSupport::XmlMini.backend = 'Nokogiri'
Вывод :
xml class in main file Nokogiri::XML::Builder
xml class in builder file Builder::XmlMarkup