从下面的网址我怎样才能提取值1?
`http://localhost:3000/category/products/1`
我尝试了params [:id]和params [:products] [:id],但什么都没有。
答案 0 :(得分:1)
您是否在routes.rb
文件中进行了适当的更改?你需要包括像
GET /category/products/:id , ...
使其适用于params[:id]
。
答案 1 :(得分:0)
<强>路线强>
您问题的直接答案是修复您的routes.rb
文件
根据Rails RESTful routing structure,您应该能够使用命名范围来实现此目的:
#config/routes.rb
scope 'category' do
resources :products
end
#/category/products/1 -> params[:id]
<强>嵌套强>
我上面推荐的内容应该直接解决您的问题
但是,我认为您正在努力实现nested
资源。如果是这种情况,你应该使用这样的东西:
#config/routes.rb
resources :categories do
resources :products
end
这样你就可以:
#categories/:id/products/:product_id