2014-03-03 73 views
1

新的工作與Rails 4,並有一個關聯的問題。Rails協會 - 簡單加入

比方說,我有車

create_table "cars", force: true do |t| 
    t.string "name" 
    t.integer "owner_id" 
    t.integer "mechanic_id" 

end 

而且我有一些用戶哪些角色「所有者」和「機械師」

create_table "users", force: true do |t| 
    t.string "name" 
    t.integer "role_id" 
end 

現在,當我拿到車的名單,我想所有者和技工的名字...

我知道這聽起來很容易,但我一直在我的頭周圍的協會,沒有得到任何地方。

我想顯示此:

name owner mechanic 
Ferari Paul James 

這種模式

User 
id first role 
1 Paul owner 
2 James mechanic 

Car 
name  owner_id mechanic_id 
Ferrari 1   2 

任何幫助將非常感激。

回答

2

您有兩個關聯到相同的模型。因此,在您model/car.rb寫:

class Car < ActiveRecord::Base 
    belongs_to :owner, class_name: 'User' 
    belongs_to :mechanic, class_name: 'User' 
end 

,您可以使用car.owner.namecar.mechanic.name
請參閱rails guide on associations

+0

感謝馬丁 - 您的exmaple + 2.10從您的鏈接真的幫助! – OHope