2009-07-24 13 views
1

Je suis en train de réécrire un site Web dans Rails. J'ai écrit un modèle qui mappe les anciennes URL statiques aux nouvelles et dans le contrôleur d'application, je piège RoutingErrors pour appeler une méthode qui cherche une nouvelle URL qui correspond à l'ancienne. Cela fonctionne parfaitement bien dans l'applicaion elle-même; si je visite http://localhost:3000/home.htm, il redirigera vers http://localhost:3000/home, mais je ne peux pas obtenir les tests Cucumber/Webrat que j'ai écrit pour passer car je reçois toujours une erreur comme celle-ci.RoutingError problèmes avec Webrat

When I try to go to the old noticeboard   
    #features/step_definitions/redirection_steps.rb:7 
    No route matches "/noticeboard.htm" with {:method=>:get} (ActionController::RoutingError) 
    (eval):2:in `visit' 
    ./features/step_definitions/redirection_steps.rb:8:in `/^I try to go to the old (.+)$/' 
    features/old_urls.feature:26:in `When I try to go to the old noticeboard' 

De toute évidence, il est plus important que le code fonctionne réellement, et il ne redirige correctement dans le navigateur, mais je aimerais que les tests à passer aussi. Y a-t-il un moyen de contourner ce problème?

Répondre

0

Avez-vous déjà résolu cela? J'ai eu beaucoup de problèmes avec la méthode de visite dans webrat. Cela s'est avéré avoir RAILS_ENV = développement dans mon environnement.