2010-06-10 88 views
1

我有一個'用戶'表,它存儲我所有的網站用戶,其中一些是技術人員。用戶表具有'first_name'和'last_name'字段以及其他字段。has_many in rails

另一個表稱爲'service_tickets',它有一個來自用戶的外鍵叫做technician_id。這給了我一個真正的問題,因爲當我在查看service_tickets表時,相關用戶實際上是技術人員。這就是爲什麼service_tickets表具有technician_id而不是user_id字段的原因。

我試圖完成這樣的事情:

t = service_ticket.find_by_id(7) 
t.technician.first_name  # notice how I don't do t.user.first_name 

在軌這可能嗎?我似乎無法得到它的工作...

謝謝你的幫助!

回答

3

在服務票的模式,你可以添加一個技術員關係一樣......

belongs_to :technician, :class_name => "User" 

它將使用用戶模型在這種情況下爲technician_id

+0

感謝您的快速回復,遺憾的是當我將建議的約束輸入到我的模型中,然後在我的視圖中鍵入以下代碼: <%@ service_tickets.each do | s | %> <%= s.technician.first_name%> <% end %> 我得到以下錯誤: 「未定義的方法'first_name的」近親:NilClass」 任何想法,這可能是?我必須在用戶模型中添加「has_many:service_tickets」以外的任何內容嗎? – dingalingchickenwiing 2010-06-11 12:04:43

+0

順便說一句,用戶模型確實有一個名爲'first_name'的字段。 – dingalingchickenwiing 2010-06-11 12:05:35

+0

重新啓動服務器後,您的代碼工作!不要介意我以前的帖子。謝謝! 順便說一句,我把:foreign_key上,我在網上讀到這樣的結尾設置: belongs_to的:技師:CLASS_NAME => 「用戶」,:foreign_key => 「technician_id」 這樣行不行? – dingalingchickenwiing 2010-06-11 15:27:46