Merci Michel !!! J'ai fait comme tu as dit, j'ai supprimé les routes par défaut.
On 2 déc, 11:21, Michel Belleville <[email protected]> wrote: > Il faudrait que tu explique à la ressource "saisies" qu'elle doit accepter > la méthode "new_saisie_activite" comme méthode de collection, sinon elle map > sur la route par défaut qui est GET /saisies/:id => show > > Donc : > map.resources :saisies, :collection => [:new_saisie_activite] > > Et aussi si tu utilise des resources (ce qui est bien) il vaudrait mieux > supprimer les routes par défaut (ce qui est beaucoup moins bien) donc > supprimer ces deux lignes : > map.connect ':controller/:action/:id' > map.connect ':controller/:action/:id.:format' > > Michel Belleville > > 2009/12/2 pestak <[email protected]> > > > > > Bonjour, > > > Dans le footer (layouts/_footer) de mon application, j'ai mon menu. > > J'ai ajouté un lien <%= link_to "- activité", > > {:controller=>"saisies", :action=>"new_saisie_activite"} %> qui doit > > appeler dans le controleur cette méthode : > > def new_saisie_activite > > �...@saisie = Saisie.new > > �...@activites = Activite.find(:all, :conditions => > > "actif=true", :order=>"nom ASC").map {|p| [p.nom, p.id]} > > > respond_to do |format| > > format.html # new.html.erb > > #format.xml { render :xml => @saisie } > > end > > end > > > Dans le fichier router.rb, je n'ai défini que le minimum : > > ActionController::Routing::Routes.draw do |map| > > map.resources :saisies > > map.resources :fiches > > .... > > map.connect ':controller/:action/:id' > > map.connect ':controller/:action/:id.:format' > > map.root :controller => "home" > > end > > > Lorsque je clique sur le lien, il essaye de charger la page show et > > j'obtiens cette erreur : > > ActiveRecord::RecordNotFound in SaisiesController#show > > Couldn't find Saisie with ID=new_saisie_activite > > > Avez-vous une idée de l'erreur que j'ai commise? > > > Merci d'avance. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
