2012-01-10 99 views
0

我有一個對自定義外鍵名(非協會+ _id),像這樣:與關聯表相同的外鍵?

belongs_to :investment_advisor, :foreign_key => "investment_advisor" 

因爲軌道會產生混亂而犯規知道如果IM指協會或外鍵這就產生了一個問題。有什麼辦法我可以重命名外鍵(不接觸數據庫)到別的東西?像一個變量或東西?

回答

2

你可以重命名你的協會,爲一個:

belongs_to :investment_advisor_obj, 
      :foreign_key => "investment_advisor", 
      :class_name => "InvestmentAdvisor" 

(或者你可以挑一個不那麼愚蠢的名字)

+0

但犯規':investment_advisor'需要是表的名稱?或者它只是表的名稱,':class_name'是表的名稱 – 2012-01-10 16:03:25

+0

@JonahKatz:不,它不需要。但Rails必須能夠在這個關聯中找到其他類。因此':class_name'選項。 – 2012-01-10 16:09:06

+0

給它一個去@JonahKatz。協會的名字真的就是這個名字。它通過詢問'InvestmentAdvisor.table_name'找出表名, – 2012-01-10 16:11:04

相關問題