je reçois l'erreur suivante lors du test d'un itinéraireComment tester les routes nommées?
1) Failure:
test_settings_route(ProjectsControllerTest) [/test/functional/projects_controller_test.rb:15]:
The generated path <"/projects/1/edit"> did not match <"/projects/1/settings">
Voici le test et ce que je mets dans mes itinéraires fichier
# projects_controller_test.rb
require 'test_helper'
class ProjectsControllerTest < ActionController::TestCase
def test_settings_route
assert_routing '/projects/1/settings', :controller => 'projects', :action => 'edit', :id => '1'
end
# routes.rb
map.settings '/projects/:id/settings', :controller => 'projects', :action => 'edit'
Avec cette entrée dans mes voies fichier mon application nommée se comporte comme prévu - qui est de rendre le modèle d'édition du projet quand/projects/1/settings est demandé - mais je ne comprends tout simplement pas comment faire passer mon test en vert.
J'ai aussi essayé la macro Shoulda avec le même résultat
should_route :get, "/projects/1/settings", :controller => 'projects', :action => 'edit', :id => '1'
Selon le RailsGuide sur le routage "Le fichier routes.rb est traité de haut en bas lorsqu'une requête arrive. La requête sera envoyée à la première route correspondante." Ainsi, vous voudrez probablement garder vos routes nommées plus spécifiques avant les routes RESTful plus générales. – Corey