Ich bekomme gerade dies in meine Checkboxen Daten-URL "/ Todos? ID = F483e4a8cb1a728f" wenn es nur "/ Todos/F483e4a8cb1a728f" Ich bin mit freundlicher ID für die Random Schnecken.freundliche ID Pfad in checkbox_tag Schienen 4
Derzeit nenne ich es als Daten: {remote: true, url: url_for (Controller:: todos, id: todo), Methode: "PATCH"} ID: todo und ich habe todo.id aber das versucht gibt mir die Nummer der Post, die ich nicht will - ich will die Schnecke.
Weiß jemand, wie ich das umgehen könnte?
Vielen Dank liebe Herren.
EDIT: Mehr Kontext wie gewünscht
<%= check_box_tag 'todo[completed]', todo.id, todo.completed, data: { remote: true, url: url_for(controller: :todos, id: todo), method: "PATCH" }, id: todo.id %>
<%= label_tag todo.id, "COMPLETE", :class => 'strikethrough' %>
Dies ist, wie ich es bin ruft - wie ich auf dem Index meine todo abschließen möchten und nicht in zu gehen und die Aktualisierung auf todos /: id/bearbeiten. Allerdings gibt es mir einen Fehler, wenn ich das Kontrollkästchen klicken, da die URL wie diese ist „/ todos id = f483e4a8cb1a728f?“, Wenn es nur „/ todos/f483e4a8cb1a728f“
EDIT sein sollte:
Meine Aktion
def completed
if @todo.update_attributes(:completed => params[:completed])
flash[:success] = "Wowzers."
redirect_to dashboard_path
else
flash.now[:error] = "Not so wowzers..."
render :new
end
end
Meine Routen
resources :todos do
member do
# post 'completed'
patch 'todos/:id' => 'todos#completed'
end
end
Aufruf was und wie? Kannst du ein bisschen mehr Kontext einbeziehen? – max
Aktualisiert, hoffe, dies bietet mehr Einblick? –