Rails 3 autoload_paths与Rails 2 load_paths

时间:2011-01-14 14:04:30

标签: ruby-on-rails-3

所以,我发现我需要将config.load_paths更改为config.autoload_paths但是当我这样做时,我开始看到这个例外:

Expected /path/to/myapp/app/helpers/controllers/my_helper.rb to define Controllers::MyHelper

在Rails 2中,它从不抱怨helpers / controllers文件夹,但现在看来它需要一个命名空间模块。我是否已将所有助手重命名,还是有其他方式可以使用?我有这么多助手,我使用帮助器/模型助手/视图和帮助器/控制器来保持它们的整齐有序。

提前致谢!

2 个答案:

答案 0 :(得分:0)

出于性能原因,Rails 3中的文件命名约定比Rails 2中的文件命名约定严格得多。 Rails 3期望文件结构直接匹配类层次结构。

如果您希望在Rails 3中运行应用程序,我建议删除帮助程序目录或将Controllers::添加到每个类声明的前面。

答案 1 :(得分:0)

Rails 3确实希望根据文件名和目录层次结构对您的类进行命名空间,因此您必须将助手重命名为Controllers::MyHelper