我有一個使用 jbuilder 的 Ruby on Rails 應用程式。我正在使用 jbuilder 來幫助呈現 json 回應。有沒有辦法將 jbuilder 部分分配給變數而不呈現結果?我一直在嘗試做類似下面的事情,但我收到了這個undefined method 'key' for nil:NilClass錯誤。看來我沒有正確地將用戶模型傳遞給user.json.jbuilder任何人都可以提供任何幫助嗎?
context = ActionController::Base.new.view_context
user_json = JbuilderTemplate.new(context) do |json|
json.partial! "/users_api/user.json.jbuilder", user: user
end.target!
uj5u.com熱心網友回復:
JbuilderTemplate您可以使用組合 with直接從 Jbuilder 回傳 JSON .target!,但檔案名必須以下劃線開頭。以和下劃線開頭的檔案名表示它是部分的,這意味著它不能直接呈現。
參考資料(如何在模型中渲染 Jbuidler 部分?,在 rails 中缺少部分)
直接回傳 JSON(呼叫_user.json.jbuilder)
context = ActionController::Base.new.view_context
user_json = JbuilderTemplate.new(context) do |json|
json.partial! "/users_api/user.json.jbuilder", user: user
end.target!
渲染 JSON(呼叫user.json.jbuilderwhich call _user.json.jbuilder)
render "/users_api/user.json.jbuilder"
user.json.jbuilder
json.partial! "/users_api/user.json.jbuilder", user: @user
_user.json.jbuilder
json.email user.email
json.name user.name
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/424349.html
標籤:轨道上的红宝石 ruby-on-rails-3 jbuilder
上一篇:Numpy將形狀NxD到NxK的陣列添加到陣列NxK中的第一個D中
下一篇:NoMethodErrorinTutorsController#createundefinedmethod`supert='for#<Tutor:0x00007fa5593f99f8&
