2011-07-14 4 views
1

Ok, Cela semble si simple que je me sens un peu idiot de demander, mais j'ai vu d'autres qui ont demandé quelque chose de similaire mais pas tout à fait la même chose et leurs réponses ne résout pas mon problème. J'ai une ressource appelée servicios. Ressources: servicios, créé les routes pour les actions "par défaut" qui sont dans mon contrôleur: index, nouveau, créer, montrer, éditer, mettre à jour, détruire. Cependant, j'ai besoin d'une autre action qui est recherche qui devrait correspondre à ma vue où je vais mettre en œuvre une recherche préalable.Ajouter une nouvelle page à une ressource dans les rails

Comment puis-je faire cela?

édition avec de nouvelles informations en utilisant cette approche: les ressources: servicios,: collection => {: search =>: get} http://localhost:3000/servicios/search Je recevais erreur ActiveRecord :: RecordNotFound en # de ServiciosController montrent Couldn » t trouver Servicio avec ID = recherche

Répondre

3

Si vous utilisez Rails 3 alors les définitions de l'itinéraire ressembleront

resources :servicios do 
    collection do 
    get :search 
    end 
end 
+0

Oui, ça l'a fait. Merci beaucoup. –

1
resources :servicios, :collection => {:search => :get} 

acheminera/servicios/recherche def search...end dans le contrôleur de servicios.

Ou ...

match 'search', :to => 'servicios#search' 
+0

Je mis à jour la question afin que vous puissiez voir ce que je suis arrivé. Je suis intéressé par l'utilisation de la méthode de recherche du contrôleur. –

+0

Vous devez généralement redémarrer le serveur après avoir apporté des modifications au fichier de routes. As-tu fais ça? – tybro0103

+0

Merci pour l'aide. –

Questions connexes