2013-03-14 112 views
2

我添加了一個新的控制器動作,並添加相應的路由Rails的路由的ActiveRecord :: RecordNotFound錯誤

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 

但是當我訪問此頁面

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

我得到這個錯誤

ActiveRecord::RecordNotFound in Swimming::ClassschedulesController#show 

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

它看起來像導軌試圖加載另一條路線

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

我附上所有相關路由

  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 

如何解決這個問題?

UPDATE * 已經固定 *

,因爲我有

namespace :swimming do 
    resources :classschedules do 

    end 

    end 

兩個街區在routes.rb中

+1

答案您可以添加有關節'耙routes'輸出? – 2013-03-14 05:31:15

+4

可能是訂購問題。在文件的前面你有單獨的'resources:classschedules'嗎? – 2013-03-14 05:33:03

+0

你使用get請求嗎? – jvnill 2013-03-14 05:35:16

回答

0

複製從以註釋的答案的問題從「未答覆」過濾器中刪除此問題:

的問題,因爲我有

namespace :swimming do 
    resources :classschedules do 

    end 
end 

兩個街區在routes.rb中

〜每wwli

相關問題