簡體   English   中英

用rails response_to json格式包含兩個(或更多)模型及其一些虛擬屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM