アクションから xml Doc を送信しようとしています
XMLは次の方法で作成されます
def media_xml
x = Builder::XmlMarkup.new
x.instruct!
x.declare! :DOCTYPE, :html, :PUBLIC, "-//W3C//DTD XHTML 1.0 Strict//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
x.options{
x.videos{
for m in self.media
x.imageName("static-video-image.png", "target"=>"_self", "html"=>"", "flv"=> m.filename+".flv", "autoStart"=>"false")
end
}
}
x
end
コントローラーでは、次を使用します
def media
@inspection = @tag.inspections.find params[:id]
respond_to do |format|
format.html { render :nothing => true }
format.xml { render :xml => @inspection.media_xml }
end
end
そして、次の XML が結果です
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<options>
<videos>
<imageName html="" flv="3504_1245270846028.flv" autoStart="false" target="_self">static-video-image.png</imageName>
</videos>
</options>
<respond_to?:to_xml/><to_xml/>
「<respond_to?:to_xml/><to_xml/>」のため、相手側のパーサーは次のエラーを返します
XML Parsing Error: junk after document element
Rails がこれをドキュメントに記載するのはなぜですか?どうすれば削除できますか?
ありがとうございました!