2014-06-24 89 views

回答

276

我認爲以下應爲你工作。

Event.includes(users: :profile) 

如果要包括關聯(我們稱之爲C)已列入協會(我們叫它B),你使用上面的語法。但是,如果您還想包括D(也是B的關聯),那麼您將使用數組(如Rails Guide中的示例中給出的那樣)。

A.includes(bees: [:cees, :dees]) 

你可以繼續巢包括那樣(如果你真的需要)。說一個也以Z相關,並且C是關聯到E和F

A.includes({ bees: [ { cees: [:ees, :effs] }, :dees] }, :zees) 

而對於好開心,我們也會說E被關聯到J和X,和d關聯爲Y.

A.includes({ bees: [ { cees: [ { ees: [:jays, :exes] }, :effs] }, { dees: :wise } ] }, :zees) 
+4

UUS RRS我的新英雄! – Mika

+8

你將如何爲包含的模塊添加條件..? :) –

+1

如何添加訂單? –

6

如果有人做了respond_to塊生成嵌套的JSON,你可以這樣做:

respond_to do |f| 
    f.json do 
    render json: event.to_json(include: {users: {include: :profile} }), status: :ok 
    end 
end 
+1

我想你的意思是'as_json' - 否則會呈現JSON字符串。 – Meekohi