2016-03-31 7 views
0

Ich versuche, Parameter über link_to zu übergeben und nicht in der Lage, herauszufinden, wie dies in Controller mit Params gelesen wird.So lesen Sie den Parameter link_to im Controller

<%= link_to "Remove", user_path(:task => {:id => task.id}), :method => :delete, :data => {:confirm => "You Sure?"} %> 

Parameter von Konsole (I ersetzt nur die Echtheit Token mit XXX)

Parameters: {"authenticity_token"=>"XXX", "task"=>{"id"=>"1"}, "id"=>"1"} 

"task"=>{"id"=>"1"} - Dies ist der Parameter I von user_controller

Antwort

1

Sie haben einen Hash innerhalb Hash Zugang versuchen in params, können Sie dies in Ihrem UsersController -

versuchen 10

+0

'params! [: Aufgabe] [: id] .nil ? 'wirft mir einen Fehler, wenn keine Parameter übergeben werden. aber ich muss eine andere Aktion ausführen, wenn es null ist. Wie kann ich überprüfen, dass in Controller – Trishj

+0

ja, dieser Fehler wirft, wenn Sie nicht haben 'params [: Task]'. Sie können also einfach prüfen, ob es vorhanden ist oder nicht. Ich würde so schreiben "if params [: Aufgabe] && params [: Aufgabe] [: id] .präsentieren?'. – dp7

0

Parameter werden in einem Hash übergeben, der sich in einem (Schlüssel, Wert) -Paar befindet, Sie müssen Schlüssel übergeben, um Werte zu lesen. Sie müssen nur

params tun [: Aufgabe] [: id]

und Sie erhalten "1"

Verwandte Themen