Rails 2.3.8:命名空间+默认路由(依赖于服务器的路由问题)

时间:2010-08-30 17:01:45

标签: ruby-on-rails namespaces routing

我在controllers / users / namespace下有FriendshipRequests控制器。设置阶段服务器后出现问题:在本地和舞台上处理相同的URL。

本地(mac os X,ruby 1.8.7p174,冻结导轨2.3.8,机架1.1.0)

/users/friendship_requests/accept?req_id=3

路线到

Processing Users::FriendshipRequestsController#index (for 127.0.0.1 at 2010-08-30 19:55:56) [GET]

Parameters: {"action"=>"index", "notice"=>"Friendship was accepted.", "controller"=>"users/friendship_requests"}

在舞台服务器上(Debian Linux 2.6.21.7-2.fc8xen-ec2-v1.0#1 SMP Tue Sep 1 10:25:30 EDT 2009 x86_64 GNU / Linux,ruby 1.8.7p302,rack 1.1.0 )

相同的网址路由

Processing UsersController#friendship_requests (for 119.170.16.22 at 2010-08-30 16:18:41) [GET]

Parameters: {"action"=>"friendship_requests", "id"=>"accept", "controller"=>"users", "req_id"=>"3"}

问题可以通过在配置/路由中添加map.connect 'users/friendship_requests/:action/:id', :controller => 'users/friendship_requests'来解决,但我想知道问题的原因。

这两个实例都在最新的nginx乘客下运行。在生产环境下本地运行没有区别。

谢谢!

2 个答案:

答案 0 :(得分:1)

由于你从Mac到Linux,我怀疑存在某种区分大小写的问题。也许尝试在两个平台上运行rake routes,然后比较输出。

答案 1 :(得分:0)

您可以调查您在舞台(ruby 1.8.7p302)和本地(ruby 1.8.7p174)计算机上使用的不同ruby版本。 正如全文提到的那样Mac和Linux可能是原因。 你永远不会知道...

相关问题