2014-12-05 115 views
2

我對rails很新穎。我試圖在Rails中將關聯設置爲另一個模型。在Rails中建立兩個關聯到相同的模型列

我有一個用戶模型列:ID,USER_NAME,電子郵件

現在我想創建具有關聯到用戶模型的另一個模型費用。此模型的目的是創建費用並將費用與來自同一模型用戶的兩個不同用戶相關聯。與第二個用戶的關聯是分割兩個用戶之間的金額。

這就是我打算在創建模型費用做:

$ rails generate model Expense amount:decimal user:references split_with:references 

現在怎麼辦我split_with的用戶模型相關聯,因爲這兩個引用聯想到兩個用戶相同的用戶模型的id ?

回答

4

你可以參考同型號的兩種不同的方式:

class Expense < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :approving_user, 
    class_name: 'User' 
end 

這將需要列user_idapproving_user_id存在。您始終可以調整生成的遷移和模型代碼以與此匹配。

一如既往地確定在這些列上設置了index: true

+0

user_id與軌道生成的用戶標識或其他列完全相同嗎? – vshl 2014-12-05 19:16:16

+0

這裏'expense.user_id'按照慣例引用'users.id'。默認鍵始終是關聯表的「id」列。 – tadman 2014-12-05 19:17:11

+0

啊對。謝謝。這就說得通了。 – vshl 2014-12-05 19:18:11

相關問題