2009-06-24 9 views
0

J'ai donc une application rails existante à laquelle j'ai été demandé de rééquiper un client Flex. Comme je ne veux pas vraiment trafiquer avec les contrôleurs et les routes existantes, je pensais que la meilleure façon d'y parvenir serait de créer un sous-répertoire dans les appls/contrôleurs appelé flex et d'y ajouter des contrôleurs supplémentaires pour gérer le flex spécifique demandes Donc, fondamentalement, au lieu d'une requête à/sessions/[méthode = POST] Je voudrais router/flex/sessions/[méthode = POST] pour aller à mes sessions_controller dans le sous-répertoire flex. Je peux l'obtenir pour aller au contrôleur correct, mais il cherche la méthode idnex (il semble donc qu'il traite ma demande comme une requête GET même si le journal indique une requête POST.)Contrôleur Restful Rails pour frontal Flex

ajouter ce contrôleur à mon dossier de routes pour gérer les verbes HTTP

en ce moment, le seul plus de mon routes.rb a été

map.connect? flex/sessions /: action ',: controller =>' flex/sessions '

Merci d'avance pour toute aide

s.park

Répondre

2

Essayez d'utiliser des espaces de noms.

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 
+0

Merci. J'ai juste essayé, mais toujours pas de chance. La requête POST à ​​http: // localhost: 3000/flex/sessions continue d'apparaître dans mes journaux sous la forme Processing SessionsController # index (pour 127.0.0.1 à 2009-06-24 16:18:08) [POST] donc je peux voir qu'il s'agit d'une requête POST, mais elle est routée vers la méthode d'index de SessionsController et ne ressemble pas non plus au bon contrôleur. la partie pertinente de ma sortie de rake routes est POST/flex/sessions {: controller => "flex/sessions",: action => "créer"} des idées sur la façon de mieux déboguer les routes? – sparky

+0

Utilisez-vous la ligne de ressources ou cette ligne de connexion? Utilisez l'assistant ressources si vous ne l'êtes pas déjà. – Matchu

+0

Se débarrasser de la première ligne flex.connect 'sessions /: action',: controller => 'sessions' semble avoir travaillé pour moi. – sparky

Questions connexes