2009-11-03 20 views
0

下午好,回报率 - 对XML渲染嵌套错误

我试图呈现为XML完整的ActiveRecord的错误列表,问题是,当你做这样的事情:

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的错误!让我知道,如果我做错了什么,或者这样的:包括不应该有错误

问候

+0

在这里没有任何特别的理由不使用视图吗?你可以用条件分开渲染这些东西。 – kikito

回答

1

看一看在API文档XML builder的文档工作。您可以根据任意数量的条件生成XML,然后根据您的喜好输出它。

还有一个Railscasts episode向你展示了如何为RSS提要做类似的事情。