0

我已經Employee模型和TicketStatus模型 使用上Employee模型STI的辦法,以便有兒童模特'Advisor''Staff',我TicketStatus裏面我試圖實現以下目標:做一個關係TicketStatusAdvisorTicketStatusStaff,然後TicketStatusPreviousAdvisorTicketStatusPreviousStaff之間,我的代碼是這樣的:多的關聯不工作

class TicketStatus < ActiveRecord::Base 
    attr_accessible :status_id, :ticket_id , :staff_id, :advisor_id, :previous_advisor_id, :previous_staff_id 
    belongs_to :status 
    belongs_to :ticket 
    belongs_to :staff, class_name: 'Staff', foreign_key: 'staff_id' 
    belongs_to :previous_staff , class_name: 'Staff', foreign_key: 'previous_staff_id' 
    belongs_to :advisor, class_name: 'Advisor', foreign_key: 'advisor_id' 
    belongs_to :previous_advisor, class_name: 'Advisor', foreign_key: 'previous_advisor_id' 
end 

enter image description here

問題是我不能在同一class name兩個關聯,產生使用RubyMine的依賴關係圖後,我發現第二關聯覆蓋第一個聯想,我能以使這些協會工作正常嗎?

回答

0

發生這種情況,因爲國外的密鑰是相同的。你可以在兩種情況下指定外鍵應該是第二種關係:

belongs_to :previous_staff , class_name: 'Staff', foreign_key: 'previous_staff_id' 

belongs_to :previous_advisor, class_name: 'Advisor', foreign_key: 'previous_advisor_id' 

這將保留單獨的關係。 staffadvisor關係很好。

編輯:這是問題的相當的編輯後回答。

+0

我已經更新了我的問題,我已經指定了每個關聯foreing關鍵,仍然有同樣的問題,我已經添加了來自圖 –

+0

屏幕截圖?????仍然沒有工作 –

+0

我沒有改變什麼,但我相信你居然想這出由運行'軌C'或者你只是由什麼紅寶石礦是說去?不 – Niall