2012-12-03 64 views
0

有2種型號如下的例子模型關係:導軌 - 從自定義列

模型1

column 1 --- column 2 --- column 3 
id  --- fb_id --- someOtherThing 

模型2

column 1 --- column 2 --- column 3 
id  --- fb_id --- someOtherThing 

例如凡,fb_id是Facebook的ID作爲大int。

如何從第一個模型的第2列到第2個模型的第2列構造關係(例如belongs_to)?

目前我有做這樣的事情:

model 1: 
belongs_to :model2, :foreign_key => 'fb_id' 

但我怎麼能預先選擇模式1(第2列),必須在第二個模型的列匹配的列? (我認爲以這種方式從模型1中獲得第1列)。

在合成: 如何創建一個關係(belongs_tohas_manymodel1(:fb_id) => model2(:fb_id)

model1(:id) => model2(:fb_id)

回答

1

如果我理解正確的,你需要做的是檢索記錄與有效協會, 對?

你可以做,使用下列內容:

Model1.joins(:model2 => :fb_id) 

這隻會檢索模型1' 有一個有效的關聯!

+0

對於尋找有效關聯的人有幫助的答案+1,但在我的情況下,我不想檢索任何東西,只有良好的模型間關係(我已更新我的帖子,也許現在更清楚了;)) – damoiser

+0

也許會更好,如果你有一個facebook_login模型與你的模型,1和2的多態性關聯 – felipeclopes

+0

我不知道我是否可以在我的情況下做一個多態協會,這是更困難的我展示的例子。 – damoiser