2015-04-05 33 views
0

我有2種型號,用戶和任務導軌 - 多個外鍵同桌

它們有關聯,如下所示:

class User < ActiveRecord::Base 
    has_many :tasks, foreign_key: "assigned_to" 
end 

任務模型的架構如下:

t.string "taskable_type", limit: 255 
    t.integer "taskable_id" 
    t.string "title",   limit: 255 
    t.text  "description" 
    t.integer "added_by" 
    t.integer "assigned_to" 
    t.datetime "due_date" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    t.datetime "completed_at" 
    t.datetime "deleted_at" 

我還想將字段added_by關聯到用戶表。

我該怎麼辦?

回答

1

您可以添加第二個關聯,您只需要給它一個唯一的名稱,如:

class User < ActiveRecord::Base 
    has_many :tasks, foreign_key: "assigned_to" 
    has_many :added_tasks, foreign_key: "added_by", class_name: "Task" 
end 

你必須添加選項class_name: "Task"在這種情況下,因爲正確的類名不能推斷關聯名稱「added_tasks」(它將查找名爲「AddedTask」的類)。

documentation for has_many列出了指導您完成這類事情的選項。

+0

完美的作品,謝謝! – 2015-04-06 19:20:07