导轨上的红宝石控制器获得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