2016-04-22 90 views
-2

我有一个Rails应用程序,我想从这个URL中提取2点不同的ID:提取多个PARAMS从URL

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) 
+0

是的!您可以以params [:supplier_id]和params [:id]的形式访问这些值。 – Shishir

回答

2

是的,你应该能够用这些密钥来访问你的价值观:

params[:supplier_id] 
params[:id] 

这是奇怪为什么你还没有可以发布您的问题之前尝试过自己的建议。 :)

+0

这是做这件事的最好方法,还是有更清晰的方法? –

+0

这确实是最干净的方式。它对你看起来很脏吗? – karlingen