我的路线看起来像这样:
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'
那么它有效......
答案 0 :(得分:0)
几个小时后我解决了!
事实证明文件夹a下有一个AController控制器类。这搞砸了铁轨,它试图在这个类中检查一个动作,甚至没有尝试查看文件夹B里面......将AController重命名为ALogicController解决了这个问题。
我仍然不知道为什么它会在这台服务器上发生,而不是在我的本地机器上发生。