2009-08-13 104 views
2

如果我有兩個不同類的名字User,比如FooModule中的一個和app/models/user.rb中的其他模型,我該如何確保我使用的是正確的?什麼是Ruby on Rails中模型的完全限定名稱?

編輯: FooModule::User肯定會給我一個正確的。

我本來還打算問是: 如果ApplicationController包括FooModule,將User::User仍然給我app/models/user

回答

6

參考它們使用自己的全名,FooModule ::用戶和更多網絡

一般來說,如果你只使用用戶,應該假設你的意思::用戶,除非你是內FooModule。無論哪種方式,請使用FooModule :: User或:: User來確保。

+0

如果模塊與ActiveRecord模型名稱相同,即'Foo :: User'和':: Foo',這似乎不起作用。當你嘗試調用':: Foo.new'時,會給出'Foo:Module'的錯誤'undefined method'new'。 – Chloe 2017-05-26 18:27:25