gpt4 book ai didi

ruby-on-rails - 如何在 Rails 4 中渲染 xml

转载 作者:行者123 更新时间:2023-12-04 14:41:48 26 4
gpt4 key购买 nike

我在 Rails 应用程序中呈现 xml 时遇到问题。我正在按照 here 的说明进行操作这是我的 Controller :

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

在我看来:
xml.instruct!
xml.cases do
@cases.each do |c|
xml.case do
xml.title c.case_number
end
end
end

然而,在我的回应中,我得到的是:
<?xml version="1.0" encoding="UTF-8"?>
<nil-classes type="array"/>

我以前从未在 Rails 中使用过 xml,所以我有点困惑。我的 Controller 结构是这样的:
app/controllers
app/controllers/shared
app/controllers/api
app/controllers/shared中的 Controller 是我保留大部分逻辑的地方,所以在我的 app/controllers/api 中我像这样引用共享 Controller :
class Api::CampaignsController < Shared::CampaignsController
protect_from_forgery with: :null_session
before_action :authenticate
end

目前,我的 xml 模板位于: views/campaigns/method_in_my_controller.xml.builder但是当我在这里有一个 View 文件时,我得到了类似的结果(xml 中没有数据) views/shared/campaigns/method_in_my_controller.xml.builder
我错过了什么?

最佳答案

消除

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

和写
render :xml => @cases

您不需要查看 xml.builder。去掉它。
尝试调用 @cases.to_xml在控制台中。我知道 to_xml使用哈希。

关于ruby-on-rails - 如何在 Rails 4 中渲染 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40671808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com