ruby-on-rails - Ruby on Rails - 如何呈现为具有 has_many 关联的 xml 模型

标签 ruby-on-rails xml ruby rendering

我有一个 ruby​​ on rails 应用程序,它有两个模型 - ltests 和 sub_tests。 ltest 与子测试具有“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 的文档。

关于我如何做到这一点有什么建议吗?

最佳答案

您不必为此使用生成器或 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/

相关文章:

c# - 在 SQL Server 中插入时,如何处理数据表中的 NULL 值变成丢失的 XML 元素?

ruby-on-rails - MySql 上的 Rails 复选框存储为 null 或零

ruby-on-rails - Ruby on Rails - 将参数传递到 routes.rb 中的 301 重定向

c# - 无法访问文件,因为它正被另一个进程使用

xml - 将 XML 存储在关系数据库中会如何违反规范化原则?

Ruby:用其他散列中的匹配值交换散列键

Ruby module_function,调用模块的私有(private)方法,在模块的类方法样式中调用显示错误

Rubymine 6.0.2,无法调试

mysql - 如何通过 Rails 迁移减少存在值的 MySQL 列的 varchar?

ruby-on-rails - 编辑 :How to send payments to users every month?