Контроллер Restful Rails для интерфейса Flex

Итак, у меня есть существующее приложение rails, которое меня попросили модифицировать для поддержки гибкого клиента. Поскольку я действительно не хочу возиться с существующими контроллерами и маршрутами, я подумал, что лучший способ добиться этого - создать подкаталог в приложении / контроллерах под названием flex и добавить туда несколько дополнительных контроллеров для обработки конкретных гибких Запросы.

По сути, вместо запроса к / sessions / [method = POST] я бы хотел направить / flex / sessions / [method = POST], чтобы перейти к моему sessions_controller в подкаталоге flex. Я могу заставить его перейти к правильному контроллеру, но он ищет метод idnex (поэтому похоже, что он обрабатывает мой запрос как запрос GET, хотя в журнале указано, что это запрос POST.

Есть мысли о том, как добавить этот контроллер в мой файл маршрутов для обработки HTTP-глаголов?

На данный момент единственным дополнением к моему routes.rb было

map.connect 'гибкий / сеансы /: действие',: контроллер => 'гибкий / сеансы'

Заранее благодарю за любую помощь.

Искра


person sparky    schedule 24.06.2009    source источник


Ответы (1)


Попробуйте использовать пространства имен.

map.namespace(:flex) do |flex|
  flex.connect 'sessions/:action', :controller => 'sessions'
  #or, ya know, use more restful routes now that you're in /flex/
  flex.resources :sessions
end 
person Matchu    schedule 24.06.2009
comment
Спасибо. Я только что попробовал, но все равно не повезло. Запрос POST к localhost: 3000 / flex / sessions продолжает отображаться в моих журналах как Processing SessionsController # index (для 127.0.0.1, 24.06.2009, 16:18:08) [POST], поэтому я вижу, что это запрос POST, но он направляется в метод индекса SessionsController, и он тоже не похож на правильный контроллер . соответствующая часть моих выходных данных о маршрутах rake - это POST / flex / sessions {: controller = ›flex / sessions,: action =› create} какие-либо мысли о том, как лучше отладить маршруты? - person sparky; 25.06.2009
comment
Вы используете линию ресурсов или эту соединительную линию? Воспользуйтесь помощником по ресурсам, если вы еще этого не сделали. - person Matchu; 25.06.2009
comment
Избавление от первой строки flex.connect 'sessions /: action',: controller = ›'sessions', похоже, сработало для меня. - person sparky; 25.06.2009
comment
Хорошо, здорово :) И добро пожаловать в StackOverflow! Когда опубликованный ответ помогает решить вашу проблему, вы обычно нажимаете на нем маленькую галочку, чтобы все знали, что вопрос уже решен ^ _ ^ - person Matchu; 25.06.2009