2012-07-29 57 views
0

我已經構建了自己的Rails引擎,要求主應用程序具有Users表。我需要能夠在我的引擎中的一個模型和主應用程序中的Users表之間創建關係。這比說belongs_to :user更復雜嗎?我收到一個錯誤,說User對象爲零,但是當我使用控制檯時,它返回正確的用戶。我的假設是,Rails假設我的belongs_to :user調用是指與引擎位於同一名稱空間中的User類,即MyEngine :: User。有沒有辦法讓我明確指定User類是在主應用程序的命名空間中,而不是引擎的?從引擎模型的主應用程序的模型創建belongs_to關係

回答

1

原來,默認情況下,引擎會通過說出belongs_to:user來識別MainApp的用戶類。我還在做其他事情:/。

4

我不知道很多關於發動機的,但是你用::指根命名空間,所以你可以使用::User我猜

11

在您的關聯設置類名稱,明確,包括命名空間:

belongs_to :user, :class_name => "MyEngine::User" 
+0

你剛剛救了我的一天先生... – Saifis 2012-11-26 07:51:02

+0

我不認爲這是正確的解決方案。 – Jwan622 2016-07-22 18:23:29

相關問題