簡體   English   中英

Rails路由ActiveRecord :: RecordNotFound錯誤

[英]Rails Routing ActiveRecord::RecordNotFound Error

我添加了一個新的控制器動作並添加了對應的路由

  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

看起來Rails試圖加載另一條路線

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

如何解決這個問題?

更新 * 已修復 *

這個問題是因為我有兩個街區

  namespace :swimming do 
    resources :classschedules do

     end 

   end

在routes.rb中

復制評論中的答案,以便從“未回答”過濾器中刪除此問題:

這個問題是因為我有兩個街區

 namespace :swimming do resources :classschedules do end end 

在routes.rb中

〜每個wwli的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM