2016-05-28 3 views
-1

Unten ist mein Serverprotokoll.Rails-Ansicht übergibt falsche Parameter in löschen Link

Ich übergebe user_id und id mit der Verknüpfung löschen aus Sicht. Wenn es übergeben wird, ist der Wert von user_id15067 und id ist 1010

Während ich überprüfen params hebeln Methode setzen, wird der Wert von id ersetzt durch user_id dh 15067.

enter image description here

Hier ist eine ganze Workflow:

Routen

delete "users/delete_role_sub_field" => "users#delete_role_sub_field" 

Controller:

def delete_role_sub_field 
    // Some code for destroy 
end 

Ausblick:

<% @user.roles.each_with_index do |role, i| %> 
    <tr> 
     <td> 
     <a class="delete remove-description-field" href="https://stackoverflow.com/users/delete_role_sub_field?user_id=<%= @user.id %>&id=<%= role.id %>" data-method="delete" method="delete" data-confirm="Are you sure you want to delete Role Field?"> 
      Delete 
     </a> 
     </td> 
    </tr> 
    <% end %> 

Jede Hilfe appriciated würde!

Vielen Dank im Voraus.

Antwort

0

Können Sie Ihre link_to Funktion posten? wo du deine params passierst, weil die anwendung gut funktioniert, wenn du auf deine route schaust, wirst du sehen, was seine ersten params sind und was ist das zweite.

Beispiel:

resources :magazines do 
    resources :ads 
end 

, die Route wie folgt generieren:

/magazines/:magazine_id/ads/:id 

link_to wird so aussehen:

link_to ads.title, magazines_ads_path(magazine.id, ads.id) 

und in show-Aktion:

def action 
    @ads = Magazine.find(params[:magazine_id)).ads.find(params[:id]) 
end 
+0

Hier ist es =>Delete fidato

+0

Ich benutze einfache HTML zum Erstellen von Link. – fidato

+0

Ich hatte den gesamten Code für den Fluss hinzugefügt. – fidato