RoR - 渲染XML上的嵌套错误

时间:2009-11-03 16:24:28

标签: ruby-on-rails xml xml-serialization nested

下午好,

我正在尝试将完整的ActiveRecord错误列表呈现为XML,问题在于您执行以下操作时:

respond_to do |format|
   format.xml { render :xml => @object }
end

如果你不这样说,它不会渲染嵌套属性,所以要么:你应该创建一个模板或调用explicity to_xml方法并使用“:include”。最后一个选项似乎适用于模型关联的嵌套属性。但如果我们遇到错误呢?此代码不起作用:

respond_to do |format|
   format.xml { render :xml => @client.to_xml(:include => :errors }
end

我知道我可以做@ client.errors甚至隐藏.to_xml,但现在我想做的事情如下:

   respond_to do |format|
       format.xml { render :xml => @client.to_xml(:include => {
                                        :errors, 
                                        :client_contact => {:include => :errors } } )}
    end

据说我只能获得1 xml,来自客户端的错误,以及来自client.client_contact的错误!如果我做错了,请告诉我,或者说:包含不应该用于错误

此致

1 个答案:

答案 0 :(得分:1)

在API文档中查看XML builder的文档。您可以根据任意数量的条件生成XML,并根据需要输出它。

还有一个Railscasts episode向您展示如何为RSS Feed做类似的事情。