Im Moment habe ich eine verschachtelte Routen Associates zwischen meiner Karte und Zeilen, wo eine Zeile has_many
Zeilen.Rails verschachtelte Routen falsche ID
resources :maps do
resources :rows
end
Während die
edit_map_row GET /maps/:map_id/rows/:id/edit(.:format) rows#edit
in meinem Rechen Routen suchen Dies wird einige Dinge vermasselt, weil, wenn ich die URL aussehen, während eine Zeile bearbeiten, es mir diese URL gibt.
http://localhost:3000/maps/11/rows/1/edit
Die die Karte ID ist nicht 11, es ist actally 1 und umgekehrt. Wie kann ich dies in meinen Routen ändern, anstatt die map_id als 11 zu verwenden, ist es 1 und die row_id ist eigentlich 11?
Die Route sollte wie folgt aussehen:
edit_map_row GET /maps/:id/rows/:row_id/edit(.:format) rows#edit
Hier die Set-Methoden in meinem Controller sind, wenn das
Karten Controller
private
def set_row
@row = Row.find(params[:id])
end
Reihen-Controller
private
def set_map
@map = Map.find(params[:id])
end
hilft