2012-09-25 89 views
0

我遇到了有關訪問子文件夾中的模型的問題。我在我的項目中的以下文件結構:訪問子文件夾中的模型

app/models 
    - accounts 
    - type1.rb #Inherits from Account 
    - type2.rb #Inherits from Account 
    - etc. 
    - account.rb 
    - user.rb 
    - etc. 

現在user.rb我有嘗試創建TYPE1或TYPE2的賬戶功能:我添加到我的應用程序

def function 
    self.account = ::Type1.new(...) 
end 

知道.RB(以下http://blog.hasmanythrough.com/2008/5/6/a-simple-alternative-to-namespaced-models)以下行:

config.autoload_paths += Dir["#{config.root}/app/models/**/"] 

使模型子確實加載。

現在,當我調用函數時,仍然出現着名的uninitialized constant Type1錯誤消息。我錯過了什麼?

UPDATE:

類型1類是空的:

class Type1 < Account 
end 

和Account類是直截了當:

class Account < ActiveRecord::Base 

#======================RELATIONS====================== 
    belongs_to :currency 
    belongs_to :organization 

#======================VALIDATIONS========================= 
    validates :name, :presence => true 
    validates :country, :presence => true 
    validates :currency, :presence => true 
    validates :organization, :presence => true 
end 

回答

3

試試這個

config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')] 
+0

不,我試過了。我還通過轉儲config.autoload_paths變量來檢查該文件夾是否已添加到路徑中: C:/ Users /.../ lib C:/ Users /.../ app/models/ C:/ Users /.../ app/models/accounts /' – muichkine

+0

你有一個type1所屬的名字空間嗎? –

+0

不,我刪除它:'class Type1 muichkine

相關問題