我有一个ruby on rails应用程序,它有两个模型-ltests和sub_tests。
ltest与sub_tests具有“has_many”关联。
在ltests的show方法中,如下所示。

respond_to do |format|
  format.html # show.html.erb
  format.xml  { render :xml => @ltest }
end

这将呈现ltest对象。但是,属于ltest的sub_tests不会呈现。

我怎样才能做到这一点?
<ltest>
....
   <sub_test>
   ...
   </sub_test>
   <sub_test>
   ...
   </sub_test>
</ltest>

我尝试使用如下 View 渲染它:


但这会生成两个xml文档,而不是一个ltests中嵌入了sub_tests的xml文档。

关于如何执行此操作的任何建议?

最佳答案

您不必为此使用builder或erb。您可以在 Controller 中获得所需的内容(至少在rails 2.3.4中可以这样):

format.xml  { render :xml => @ltest.to_xml(:include => :sub_tests) }

关于ruby-on-rails - Ruby on Rails-如何使用has_many关联将其呈现为xml模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1180807/

10-10 15:53