[英]rails respond_to json format to include two (or more) models and some of their virtual attributes?
在我的一項控制器操作中,我正在向用戶分配一個項目,並且我想用有關該用戶的一些信息和有關該項目的一些信息來響應json請求。 目前,我可以看到他們的所有數據庫屬性,如下所示:
# ruby code...
# current_user.first_name #=> "Nik" db attr
# current_user.full #=> "Nik So" virtual attr
# @project.name #=> "buy something"
format.json { render json: {user:current_user), assignable:@project}}
因此,在Firebug控制台中,我可以在控制台中看到響應對象
// JS code
success: function(r){window.test = r}
//in console
test.user.first_name //"Nik"
test.assignable.name //"buy something"
test.user.full //undefined
我有可能在JSON響應中連同模型一起返回虛擬屬性嗎?
謝謝!
知道了!這是一個解決方案:
format.json { render json: {user:current_user.as_json(methods:[:full]), assignable:@project}}
這對我來說很好:
SomeController
respond_to :json
def some_action
@response = { :user => current_user, :assignable => @project )
respond_with @response
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.