我在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乘客下运行。在生产环境下本地运行没有区别。
谢谢!
答案 0 :(得分:1)
由于你从Mac到Linux,我怀疑存在某种区分大小写的问题。也许尝试在两个平台上运行rake routes
,然后比较输出。
答案 1 :(得分:0)
您可以调查您在舞台(ruby 1.8.7p302)和本地(ruby 1.8.7p174)计算机上使用的不同ruby版本。 正如全文提到的那样Mac和Linux可能是原因。 你永远不会知道...