Ruby on rails 从url中提取多个参数

Ruby on rails 从url中提取多个参数,ruby-on-rails,model-view-controller,parameter-passing,Ruby On Rails,Model View Controller,Parameter Passing,我有一个rails应用程序,我想从此url提取两个不同的ID: http://localhost:3000/shopping/suppliers/2/products/1 查看development.log,似乎两个值都存在 我想知道如何将这些参数公开给控制器,只是params[:supplier_id]和params[:id] Started GET "/shopping/suppliers/2/products/1" for 127.0.0.1 at 2016-04-22 18:28:19

我有一个rails应用程序,我想从此url提取两个不同的ID:

http://localhost:3000/shopping/suppliers/2/products/1

查看
development.log
,似乎两个值都存在

我想知道如何将这些参数公开给控制器,只是
params[:supplier_id]
params[:id]

Started GET "/shopping/suppliers/2/products/1" for 127.0.0.1 at 2016-04-22 18:28:19 +1000
Processing by Shopping::ProductsController#show as HTML
  Parameters: {"supplier_id"=>"2", "id"=>"1"}
  Product Load (30.1ms)  SELECT  "products".* FROM "products" WHERE "products"."permalink" = $1  ORDER BY "products"."id" ASC LIMIT 1  [["permalink", "1"]]
  Product Load (0.8ms)  SELECT  "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1  [["id", 1]]
  User Load (19.6ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
  CACHE (0.0ms)  SELECT  "products".* FROM "products" WHERE "products"."permalink" = $1  ORDER BY "products"."id" ASC LIMIT 1  [["permalink", "1"]]
  CACHE (0.0ms)  SELECT  "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1  [["id", "1"]]
  Rendered shopping/products/show.html.haml within layouts/mdl (0.3ms)
  Rendered shared/_meta_data.html.haml (0.8ms)
  Rendered shared/_top_cart.html.haml (0.1ms)
  Rendered shared/_compact_menu.html.haml (4.5ms)
Completed 200 OK in 109ms (Views: 46.2ms | ActiveRecord: 50.8ms)

是的,您应该能够使用这些键访问您的值:

params[:supplier_id]
params[:id]

这就是为什么你在发帖之前没有尝试过自己的建议

对!!您可以通过params[:supplier_id]和params[:id]访问这些值。这是执行此操作的最佳方法,还是有更干净的方法?这肯定是最干净的方法。你觉得它脏吗?