Rails 2.3.8: пространство имен + маршрут по умолчанию (проблема маршрутизации, зависящая от сервера) - PullRequest
2 голосов
/ 30 августа 2010

У меня есть контроллер FriendshipRequests под controllers / users / namespace. Проблема возникла после настройки сервера этапа: один и тот же 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 вт 1 сентября 10:25:30 EDT 2009 x86_64 GNU / Linux, ruby ​​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. Работа локально в производственной среде не имеет значения.

Спасибо!

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Поскольку вы переходите с Mac на Linux, я подозреваю, что существует какая-то проблема с учетом регистра.Возможно, попробуйте запустить rake routes на обеих платформах, а затем сравнить вывод.

0 голосов
/ 04 сентября 2010

Вы можете исследовать различные версии ruby, которые вы используете на сцене (ruby 1.8.7p302) и на локальной (ruby 1.8.7p174) машине.И, как упоминалось в полной версии, Mac Nad Linux может быть причиной.Вы никогда не знаете ...

...