繁体   English   中英

Rails 3.2.9和子文件夹中的模型

[英]Rails 3.2.9 and models in subfolders

自rails 3.2.9以来,我无法在子文件夹中存储模型。 在我的应用程序中,我有这棵树:

models
 -type_models
 -assets
 -user
 -concerns

也在application.rb中

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

所有东西都没问题,直到3.2.9。 现在我有“未知常量”错误。 我不想命名大量模型并修复所有应用程序以使用命名空间模型。

Warning: Error loading /var/www/my_app/app/models/type_models/context_type.rb:
uninitialized constant TypeModels::ContextType

file context_type.rb:

class ContextType ... end

尝试使用:

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

config/application.rb

config.autoload_paths += %W(type_models assets user concerns).map { |folder| "#{config.root}/app/models/#{folder}"}

models/type_models/context_type.rb

class TypeModels::ContextType < ActiveRecord::Base
  ...
end

重新启动Rails,你们都已经完成了!

包装你的class ContextType ... end模块:

module TypeModels
  class ContextType
    # blah blah
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM