I added a new controller action and added correspondent route
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
but when I access this page
http://localhost:3000/swimming/classschedules/students
I got this error
ActiveRecord::RecordNotFound in Swimming::ClassschedulesController#show
Couldn't find Swimming::Classschedule with id=students
It looks like rails tries to load another route
GET /swimming/classschedules/:id(.:format) swimming/classschedules#show
I am attaching all related routes
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
How to fix this issue?
UPDATE * it has been fixed *
The issue because I had two blocks of
namespace :swimming do
resources :classschedules do
end
end
in routes.rb
Copying the answer from the comments in order to remove this question from the "Unanswered" filter:
The issue because I had two blocks of
namespace :swimming do resources :classschedules do end end
in routes.rb
~ answer per wwli
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.