我在轨道2个问题的应用背景:如何用rails应用程序中的类添加新文件夹?
我有一些类不属于“MODELE”,但在我的系统正需要的,所以我想他们separe
1)如何添加“类'文件夹在应用程序/?(如果我创建它,并把类,他们不包括在内)
2)我怎么能在“应用程序/类”文件夹中的文件夹“模型”(同样的事情在这里,模型不包括如果我移动它)
thx。
我在轨道2个问题的应用背景:如何用rails应用程序中的类添加新文件夹?
我有一些类不属于“MODELE”,但在我的系统正需要的,所以我想他们separe
1)如何添加“类'文件夹在应用程序/?(如果我创建它,并把类,他们不包括在内)
2)我怎么能在“应用程序/类”文件夹中的文件夹“模型”(同样的事情在这里,模型不包括如果我移动它)
thx。
这是你不清楚你在问什么。
但是,如果你要自动加载其他目录,你可以做到这一点通过把这样的事情在config/application.rb
config.autoload_paths << Rails.root.join('app/class')
不过,请致电鸵鸟政策目录class
,使用的东西描述来代替。
按照约定的代码,不适合模型,控制器,视图,帮助器或关注内容,并放置在项目根目录下的lib
目录中。
编辑:
您可以使用水珠加载子目录:
config.autoload_paths << Rails.root.join('app/classes/**/')
在相当长的一段时间Rails已经自动加载在/应用程序的所有路径,如前所述here
你在使用“app/class”目录时可能会遇到问题,因为“class”是保留字,“Class”是Ruby中的类。
没有您例如一个问题:
为例: “应用程序/班/效果/ attribute.rb” 与 “类效果::属性”
注意,在文件中路径“效果”最后有一个“s”,而你的模块名称不是“Effect :: Atttribute”。那些应该匹配。无论是否以“s”结尾,当它们匹配时,Rails自动加载应该可以工作。
您应该删除任何关于追加到config.autoload_paths的其他建议。
http://stackoverflow.com/questions/19098663/auto-loading-lib-files-in-rails-4 – max 2014-10-16 14:17:04
此解决方案不起作用。它只适用于直接放置文件,但如果我想用子文件夹组织我的类,则不包含它们(例如:“app/classes/effects/attribute.rb”和“class Effect :: Attribute”)。同样的事情,如果我移动“模型”文件夹中的新文件夹“类”,模型不finded ... – Matrix 2014-10-16 14:29:42
好吧,所以默认情况下,它不递归子文件夹...奇怪。所以“** /”是很好的解决方案,thx! – Matrix 2014-10-16 14:52:16