命名空间路由不起作用

时间:2010-10-10 07:22:30

标签: ruby-on-rails routing

我的路线看起来像这样:

map.namespace :a do |a|
  a.namespace :b do |b|
    b.connect ':controller/:action'
  end
end

我有一个文件夹app / controllers / a / b,它存储不同的控制器文件,都存在于A::B模块中。

此路由在我的本地计算机上运行良好,但它在我正在部署的服务器上不起作用。 例如,当我尝试浏览http://mysite.com/a/b/cont/act时,我收到错误,指出找不到操作b和ID cont的控制器act ...

我正在使用Rails 2.3.5和Ruby 1.8.7,我的服务器使用Passenger 2.2.8运行nginx 0.7.64。

有什么想法吗?

顺便说一下,如果我要添加完整路线,例如:

map.connect 'a/b/cont/:action', :controller => 'a/b/cont'

那么它有效......

1 个答案:

答案 0 :(得分:0)

几个小时后我解决了!

事实证明文件夹a下有一个AController控制器类。这搞砸了铁轨,它试图在这个类中检查一个动作,甚至没有尝试查看文件夹B里面......将AController重命名为ALogicController解决了这个问题。

我仍然不知道为什么它会在这台服务器上发生,而不是在我的本地机器上发生。