如何在rails app中添加类的新文件夹?

时间:2014-10-16 14:00:10

标签: ruby-on-rails

我在rails app上下文中有2个问题:

我有一些课程不是"模式",但在我的系统中需要,所以我想要分开它们

1)我如何添加" class' app中的文件夹/? (如果我创建并放置类,则不包含它们)

2)我怎样才能把文件夹" model"在" app / class"文件夹(这里同样的事情,如果我移动它就不包括模型)

THX。

2 个答案:

答案 0 :(得分:9)

有点不清楚你在问什么。

但是如果你想自动加载其他目录,你可以在config/application.rb

中添加这样的内容。
config.autoload_paths << Rails.root.join('app/class')

但请不要拨打您的目录class,而是使用描述性内容。

通过惯例代码,它不适合模型,控制器,视图,帮助器或关注点,并放置在项目根目录的lib目录中。


编辑:

您可以使用glob:

加载子目录
config.autoload_paths << Rails.root.join('app/classes/**/')

答案 1 :(得分:2)

很长一段时间以来,Rails已自动加载/ app下的所有路径,如上所述here

使用&#34; app / class&#34时,您可能遇到了问题。目录自&#34; class&#34;是一个保留字和&#34; Class&#34;是Ruby中的一个类。

您的示例存在问题:

  

例如:&#34; app / classes / effects / attribute.rb&#34;使用&#34;类效果::属性&#34;

请注意,在文件路径&#34;效果&#34;有一个&#34; s&#34;最后,而你的模块名称不是&#34; Effect :: Atttribute&#34;。那些应该匹配。两者都以&#34; s&#34;或不,当他们匹配Rails自动加载应该工作。

您应该删除有关附加到config.autoload_paths的任何其他建议。