2010-10-12 13 views
0

J'essaye de définir une route dans routes.rb et je ne peux rien faire de this Ruby on Rails routing guide qui laissera passer cette erreur.Comment définir une route dans Ruby on Rails

No route matches {:controller=>"devise/home"} 

Voici ma source routes.rb.

SchoolCMS::Application.routes.draw do 
    root :to => "home#index" 

    devise_for :teachers, :admin 

    resources :home, :only => :index 
    resources :admin, :only => :index 

    resources :events do 
    resources :event 
    end 

    resources :posts do 
    resources :comments 
    end 

end 
+1

Quel code génère cette erreur? – Maran

+0

<% = link_to 'Home',: controller => 'home'%> – dmanexe

Répondre

1

Juste pour être sûr que je supprimerais devise_for :teachers, :admin et le diviser pour qu'il soit

devise_for :teachers 
devise_for :admin 

Je ne suis pas sûr que vous pouvez spécifier plusieurs Conçoit la façon dont vous l'utilisez, voir si cela résout votre Erreur.

Essayez aussi d'utiliser les aides de chemin étaient possibles si au lieu de faire <%= link_to 'Home', :controller => 'home' %> rendent <%= link_to 'Home', homes_path %> mais assurez-vous de définir votre maison comme resource :home, :only => :show car il est une ressource unique.

+0

Il n'est pas documenté, mais [le code source] (http://github.com/plataformatec/devise/blob/master/lib/devise/rails /routes.rb#L136) semble indiquer que l'on peut. Même ainsi, j'essaierais de faire ce changement pour voir si quelque chose se passe :) – Matchu

+0

Btw, qu'est-ce qui a corrigé l'erreur pour vous? Était-ce le fractionnement du plan pour le changement du lien? J'ai une erreur similaire ... donc essayer de résoudre les problèmes. – marcamillion