我遇到了关于访问子文件夹中的模型的问题。我的项目中有以下文件结构:
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
答案 0 :(得分:3)
试试这个
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]
答案 1 :(得分:0)
我的问题实际上是文件名wat不尊重类的CamelCase名称......