2011-01-14 77 views
2

所以,我想通了,我需要改变我的config.load_pathsconfig.autoload_paths,但是当我这样做,我开始看到这个异常:的Rails 3 autoload_paths与轨道2个load_paths

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

在Rails 2,它从来没有抱怨关于助手/控制器文件夹,但现在看来它需要一个命名空间模块。我是否已将所有助手重命名,还是有其他方法可以使用?我有这么多,我使用的助手/型号佣工/视图和佣工/控制器,让他们所有的组织佣工。

在此先感谢!

+0

当我给他们改名为`:: MyHelper`它控制器抱怨说,它期待`MyHelper`笑。有没有办法在Rails 3中组织助手? – a10s 2011-01-14 17:11:22

+1

你在控制器中使用了什么样的助手?通常助手是为了看法。如果您需要共享功能的控制器,你要么它包括在你的ApplicationController让你的控制器继承它或将它保存在LIB模块或东西/和包括它。 – 2011-11-07 21:04:30

回答

0

在Rails 3的文件命名约定有很多比他们在梁2出于性能的考虑更加严格。 Rails 3期望文件结构直接匹配类层次结构。

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

0

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