2013-03-14 7 views
2

J'ai ajouté une nouvelle action du contrôleur et ajouté itinéraire correspondantRails de routage ActiveRecord :: RecordNotFound Erreur

def students 
    @students = Swimming::Student.all 
    render :json => @students 
    end 


    namespace :swimming do 
    resources :classschedules do 
     get 'students', :action => 'students', :as => :students ,:on => :collection 
     end 
    end 

mais quand j'accéder à cette page

http://localhost:3000/swimming/classschedules/students 

J'ai eu cette erreur

ActiveRecord::RecordNotFound in Swimming::ClassschedulesController#show 

Couldn't find Swimming::Classschedule with id=students 

Il semble que les rails tentent de charger une autre route

GET /swimming/classschedules/:id(.:format)   swimming/classschedules#show 

Je joins toutes les routes liées

  swimming_classschedules GET /swimming/classschedules(.:format)    swimming/classschedules#index 
           POST /swimming/classschedules(.:format)    swimming/classschedules#create 
     new_swimming_classschedule GET /swimming/classschedules/new(.:format)   swimming/classschedules#new 
    edit_swimming_classschedule GET /swimming/classschedules/:id/edit(.:format)  swimming/classschedules#edit 
      swimming_classschedule GET /swimming/classschedules/:id(.:format)   swimming/classschedules#show 
           PUT /swimming/classschedules/:id(.:format)   swimming/classschedules#update 
           DELETE /swimming/classschedules/:id(.:format)   swimming/classschedules#destroy 

    date_swimming_classschedules GET /swimming/classschedules/date/:date(.:format)  swimming/classschedules#date 
students_swimming_classschedules GET /swimming/classschedules/students(.:format)  swimming/classschedules#students 
editnote_swimming_classschedules POST /swimming/classschedules/editnote/:date(.:format) swimming/classschedules#editnote 
           GET /swimming/classschedules(.:format)    swimming/classschedules#index 
           POST /swimming/classschedules(.:format)    swimming/classschedules#create 
           GET /swimming/classschedules/new(.:format)   swimming/classschedules#new 
           GET /swimming/classschedules/:id/edit(.:format)  swimming/classschedules#edit 
           GET /swimming/classschedules/:id(.:format)   swimming/classschedules#show 
           PUT /swimming/classschedules/:id(.:format)   swimming/classschedules#update 
           DELETE /swimming/classschedules/:id(.:format)   swimming/classschedules#destroy 

Comment résoudre ce problème?

MISE À JOUR * il a été fixé *

La question parce que j'avais deux blocs de

namespace :swimming do 
    resources :classschedules do 

    end 

    end 

dans routes.rb

+1

Pouvez-vous ajouter la section correspondante de 'râteau sortie routes'? –

+4

Peut-être un problème de commande. Avez-vous un 'resources: classschedules' séparé plus tôt dans le fichier? –

+0

utilisez-vous une requête get? – jvnill

Répondre

0

Copie la réponse des commentaires afin pour retirer cette question du filtre "Sans réponse":

La question parce que j'avais deux blocs de

namespace :swimming do 
    resources :classschedules do 

    end 
end 

dans routes.rb

~ réponse par wwli

Questions connexes