2010-08-30 111 views
2

我在controllers/users/namespace下有FriendshipRequests控制器。设置舞台服务器后出现问题:在本地和舞台上处理的URL不同。Rails 2.3.8:命名空间+默认路由(服务器相关路由问题)

本地(Mac OS X的红宝石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 1 10:25:30 EDT 2009 x86_64 GNU/Linux的,红宝石1.8.7p302,机架1.1.0)

相同的URL路由

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'到config /途径来解决,但我想知道问题的原因。

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

谢谢!

回答

1

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

0

你可以研究你在stage(ruby 1.8.7p302)和local(ruby 1.8.7p174)机器上使用的不同ruby版本。作为fullware提到Mac nad Linux可能是其原因。你永远不知道...