2013-12-12 82 views
0

我的Rails應用程序中有兩個模型:MemTeam。一個team有許多memsRails獲取模型的指定字段

大家都知道,如果我只是想在team領域id,我會寫:

Team.select('id') 

如果我想獲得一個memteam,我會寫:

Mem.find(1).team 

現在我想球隊的id和名字,所以我寫:

Mem.find(1).team.select('id,name') 

我得到了一個錯誤。

我該如何正確地做到這一點?

回答

0

您正在將SQL查詢與模型屬性混淆。 Team.select('id')是查詢的第一部分,它將返回您正在查找的任何團隊的ID。如果您想獲得團隊模型的編號,您只需編寫team.id,那麼您的代碼應該是mem.team.id,其中memMem類中的一個模型,而teamTeam類中的一個模型。

讓我解釋一下。爲了從數據庫中檢索模型,您需要一些模型獨有的信息。我將假設您將使用id,但您可以使用任何屬性或屬性組合。

讓我們從數據庫中檢索我們的模型:

star_player = Mem.find('5') 
team_id = star_player.team.id 

兩個查詢被執行,一個使用find檢索您的團隊成員和其他檢索團隊ID用鋼軌協會,你應該有自動執行建立。

+0

謝謝您的回答,也許領域不只是'id',也許有些領域就像'name','dt'。 – HXH