2016-09-29 51 views
1

我正在使用ruby on rails作爲我的API與mongoid。假設我有兩個模型:獲取協會做什麼時獲取請求

class Human 
    field: salary, type: Integer 
    has_many: dogs 
end 

class Dog 
    field: name, type: String 
    belongs_to: human 
end 

我想要獲取人類在查詢所有人類時所有的狗,我該如何做?

我知道嵌入式文檔可以做到這一點,但後來我無法輕鬆找到狗文檔。這就是爲什麼我使用關聯而不是嵌入式文檔。

預期的輸出,當我查詢所有的人:提前

[ 
    { 
     "_id": "1", 
     "salary": 5000, 
     "dogs": [ 
      { 
       "_id": "1", 
       "name": "dog1", 
      } 
     ] 
    }, 
    { 
     "_id": "2", 
     "salary": 8000, 
     "dogs": [ 
      { 
       "_id": "2", 
       "name": "dog2", 
      }, 
      { 
       "_id": "3", 
       "name": "dog3", 
      } 
     ] 
    } 
] 

感謝。如果我問了一些愚蠢的問題,我對此很新,對不起。

+0

難道你不能只是做'Human.includes(:狗)',你能嗎? – Aleksey

+0

你作爲api視圖使用什麼? jbuilder或其他東西? – Aleksey

回答

2
humans = Human.includes(:dog) 

人類由所需數據組成,每個人都包含他們擁有的狗,幷包含他們的名字等詳細信息。

+0

感謝您的快速回復。我甚至不知道有一個包含方法可以使用。我正在閱讀[http://guides.rubyonrails.org/association_basics.html](http://guides.rubyonrails.org/association_basics.html),我什麼也沒看到。 –

+0

你可以找到關於它的信息http://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-includes –