是否可以将Rails控制器文件放在app / controllers子目录中?

时间:2012-02-24 17:24:15

标签: ruby-on-rails

我正在使用Rails 3,我想将一些控制器文件从app/controllers移动到app/controllers/a-subdirectory。我不想命名那些控制器,它们不对应嵌套资源。它只是一个更有条理的文件结构。

当我尝试articles_controllerapp/controllers/a-subdirectory并调用相关的路由路径帮助程序时,我收到错误ActionController::RoutingError: uninitialized constant ArticlesController

有没有办法告诉Rails在app/controllers递归查找控制器文件?

2 个答案:

答案 0 :(得分:3)

最后只需将app/controllers/a-subdirectory添加到autoload_paths

即可
config.autoload_paths += %W(
  #{config.root}/app/controllers/a-subdirectory
)

答案 1 :(得分:0)

您可以使用:path选项,

resources :posts, :path => "/my-dir/posts"

查看this guide了解详情。