j'ai mis en place une ressource dans routes.rb
:routes nommées dans le contrôleur ne résout pas
map.resource :papers
qui se reflète dans la sortie de rake routes
:
new_papers GET /papers/new(.:format) {:controller=>"papers", :action=>"new"}
edit_papers GET /papers/edit(.:format) {:controller=>"papers", :action=>"edit"}
papers GET /papers(.:format) {:controller=>"papers", :action=>"show"}
PUT /papers(.:format) {:controller=>"papers", :action=>"update"}
DELETE /papers(.:format) {:controller=>"papers", :action=>"destroy"}
POST /papers(.:format) {:controller=>"papers", :action=>"create"}
Le problème se pose lorsque je tente de rediriger à un itinéraire nommé dans une action de contrôleur. Ceci est un extrait de l'action create
pour la ressource Papier. Il doit rediriger l'utilisateur vers l'action show
du contrôleur paper
lors d'une sauvegarde réussie.
if @paper.save
redirect_to @paper
else
render :action => 'new'
end
L'exception qui se pose est: undefined method 'paper_url'
, ce qui suggère que le contrôleur ne peut pas voir la route nommée. Ces méthodes d'assistance fonctionneront dans les vues, cependant. Pour autant que je sache, c'est de la même manière qu'un échafaudage Rails met en place une ressource, donc je ne peux pas trouver ce qui ne va pas. Qu'est-ce que j'oublie ici?
C'est une faute de frappe. http://meta.stackexchange.com/q/196985/232821 –