導軌上的紅寶石控制器獲得ID我正在使用ruby on rails創建基本博客。我對它很陌生。我有兩個名爲category和post_controller的控制器。兩者都有如圖所示的顯示功能:如何使用params [:id]
的類別控制器:
Category.find(params[:id])
爲post_controller
Post.find(params[:id])
當我輸入網址
"localhost:3000/post_controller/2
它顯示ID的帖子2. 但是,當我爲類別控制器做同樣的事情:
"localhost:3000/categories/2
它顯示了一個錯誤,說
No route matches [GET] "/categories/1"
Rails.root: /home/root/myFirstBlog
而且是ofcourse,我有一個元素在我的類別數據庫ID 2. 然而,當我使用這個網址:
"localhost:3000/categories/show?id=2
它很明顯,但兩個控制器之間有什麼區別,即使它們具有相同的代碼。
P.S.我很困惑,哪些信息是相關的,請在評論中告訴我。我會根據需要編輯我的問題。
Rails.application.routes.draw do
get 'categories/index'
get 'categories'=>'categories#index'
get 'categories/edit'
get 'categories/new'
get 'home/index'
get 'post_controller/edit'
get 'post_controller/index'
get 'categories/edit'
get 'categories/index'
get 'categories/new'
get 'categories/show'
resources :category
resources :post_controller
root 'post_controller#index'
end
你能過去你的路由文件。 –
@AnantKolvankar我做到了。請檢查一下。 –
可能是你沒有id = 1的類別在第一位。嘗試使用id 2而不是1 – uday