2010-11-11 5 views
1

Salut à tous J'ai récemment mis à jour mes rails 2.3.5 application rails 3.0rails 3.0 Aucun itinéraire correspond

dans des rails 2.3.5 tout était ok, mais dans la version 3.0, je reçois un ActionController :: RoutingError

Aucun résultat itinéraire {: action => "créer",: controller => "heures"}

l'erreur de ligne pointe vers ma forme aide

<%= form_for(:hour, :url =>{:action =>'create'}) do |f| %> 

dans mes déroutes fichier j'ai fait la déclaration suivante:

match 'heures => 'heure indice n'

Quelqu'un peut-il me dire comment puis-je résoudre ce problème ?. J'apprécierai votre réponse

Répondre

2

Exécutez rake routes. match 'hours' => 'hours#index' vous donne GET /hours.

Le form_for essaie d'accéder à un itinéraire POST /hours, qui correspond à hours#create.

Au lieu du match règle, essayez ceci:

resources :hours 
+0

les ressources: des heures ont résolu le problème –

2

Comme ci-dessus indiqué Ariejan - vous devez avoir une route de la créer une action si c'est ce que votre formulaire utilise.

Si vous n'avez pas toutes les ressources RESTful, vous pouvez également limiter les actions en utilisant le paramètre de suivi:

resources :hours, :except => [:destroy, :show] 

ou

resources :hours, :only => [:index, create] 

Les guides Rails ont une bonne documentation. http://guides.rubyonrails.org/routing.html

Questions connexes