我在访问子文件夹中的模型时遇到了这个问题。我的项目中有以下文件结构:
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
知道我添加到我的 application.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
错误消息。我错过了什么?
更新:
Type1 类为空:
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