我在Rails應用中呈現xml時遇到問題。我下面從here的說明,這裏是我的控制器:如何在Rails 4中呈現xml
...
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,所以我有點困惑。我的控制器結構是這樣的:
app/controllers
app/controllers/shared
app/controllers/api
在app/controllers/shared
的控制器是我保持了我的大部分邏輯,所以在我app/controllers/api
我引用共享控制器,就像這樣:
class Api::CampaignsController < Shared::CampaignsController
protect_from_forgery with: :null_session
before_action :authenticate
end
目前,我的XML模板位於這裏:views/campaigns/method_in_my_controller.xml.builder
但我有類似的結果(沒有數據在xml中)當我在這裏查看文件時views/shared/campaigns/method_in_my_controller.xml.builder
我是否錯過了?
您確定在傳遞渲染之前填入了「@個案」嗎? – ReggieB
是的,這是...我在控制檯上運行代碼,我可以清楚地看到'@ cases'中的內容。 – WagnerMatosUK
我認爲值得檢查,因爲它總是值得首先嚐試簡單的事情。 – ReggieB