2016-04-22 107 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