2010-08-30 104 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可能是其原因。你永遠不知道...