2014-03-13 49 views
0

我正在構建一個演示應用程序以嘗試學習RoR,並且我對如何處理兩個用戶與非標準列名稱鏈接的情況感到困惑。Rails與不同列名的關係

我已經建立了User表,Offer表和Contract表。如果用戶創建優惠,則可以使用Offer模型中的belongs_to :user將用戶標識鏈接到優惠很簡單。這顯然將Offer.user_id列連接到User.id列。

然而,一旦要約成爲一個合同,然後有一個Contract.buyer_idContract.seller_id,這兩個點到User.id - 但我怎麼可以指定在Contract模式?

回答

0
class Contract < ActiveRecord::Base 
    belongs_to :buyer, :class_name => "User", :foreign_key => "buyer_id" 
    belongs_to :seller, :class_name => "User", :foreign_key => "seller_id" 
end 

你沒有提foreign_key明確,因爲軌道將尋找<association_name>_id列,我覺得它讓你顯式地指定它

更容易閱讀