2016-04-22 12 views
-2

Ich habe eine Rails-Anwendung, und ich mag 2 verschiedene IDs von dieser URL extrahieren:Extrakt mehr params von url

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

am development.log Blick scheint es, wie beiden Werte sind.

Ich frage mich, wie ich diese Parameter dem Controller aussetzen kann, ist es nur params[:supplier_id] und 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

ja! Sie können auf diese Werte als params [: supplier_id] und params [: id] zugreifen. – Shishir

Antwort

2

Ja, sollten Sie in der Lage sein, Ihre Werte mit den Tasten zuzugreifen:

params[:supplier_id] 
params[:id] 

Es wierd ist, warum Sie Ihren eigenen Vorschlag nicht versucht haben, bevor Sie Ihre Frage veröffentlichen. :)

+0

ist dies die beste Methode, oder ist es ein sauberer Weg? –

+0

Dies ist sicher der sauberste Weg. Sieht es dir schmutzig aus? – karlingen