2010-10-19 5 views
0

Je généré accueil et la page de contact à travers:Aucun itinéraire correspond à Railstutorial.org

rails generate Pages home contact 

a fait des tests pour vérifier et tout était bien, maintenant, je voulais ajouter la page « à propos ». J'ai créé le fichier about.html.erb en copiant le fichier contact.html.erb et en le collant puis en le renommant about.html.erb. J'ai ensuite changé le contenu "Pages # À propos de" au lieu de "Pages # contact"

j'ai changé route.rb à:

SampleApp::Application.routes.draw do 
    get "pages/home" 

    get "pages/contact" 

    get "pages/about" 

pages_controller.rb alors:

def home 
    end 

    def contact 
    end 

    def about 
    end 

Enfin a ajouté à son pages_controller_spec.rb:

describe "GET 'about'" do 
    it "should be successful" do 
     get 'about' 
     response.should be_success 
    end 
    end 

sur mon Autotest ce fut l'erreur:

Failures: 
    1) PagesController GET 'about' should be successful 
    Failure/Error: get 'about' 
    No route matches {:controller=>"pages", :action=>"about"} 
    # ./spec/controllers/pages_controller_spec.rb:22:in `block (3 levels) in <top (required)>' 

Qu'est-ce que j'ai fait de mal?

Si j'ai généré la page à propos par:

rails generate Pages about 

pour générer la page à propos? au lieu de copier-coller?

Répondre

5

Avait le même problème. Dans mon cas, le problème était que « Spork » avait besoin d'un redémarrage

0

Samesies: restart Spork

Ce fut seulement après que je quitte dans la frustration et je suis revenu une heure plus tard pour un autre regard que cela a fonctionné.

2

Ceci est dû au fait que spork ne recharge pas vos itinéraires. Mettez ceci dans votre spéc_helper.rb pour forcer spork à recharger les routes "each_run" (crédit: http://jinpu.wordpress.com/2011/03/13/reload-routes-with-spork-each-run/)

Spork.each_run do 
    # This code will be run each time you run your specs. 
    require File.expand_path("../../config/routes", __FILE__) 
end 
Questions connexes