CakePHP & DIEVOLUTION Blog
Stolpersteinchen bei Model Associations
Ein kleiner Tipp, damit es euch nicht auch so geht: Bei allen Edit-Formularen, die Model Associations haben, müssen ALLE Ids der zu ändernden Models angegeben werden.
Beispiel:
User hat ein Profil (Models: User hasOne Profile)
Ist nun nur die User ID angegeben (im Controller gesetzt oder via form->input im Formular selbst als Hidden field) updatet er zwar den User, gibt allerdings trotz hasOne Deklaration den Befehl, ein neues Profil anzulegen, ohne das andere zu löschen bzw. das alte upzudaten.
Daher immer: Wenn man User + Profil updaten will, sowohl User wie auch Profil ID angeben - das spart Zeit und Nerven.
Veröffentlicht am Dienstag, den 29. April 2008 um 14:09 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
2 Reaktionen zu “Stolpersteinchen bei Model Associations”
-
Am 29. April 2008 um 17:37 Uhr
Aber unbedingt darauf achten, dass man die Angaben validiert. Mit Firebug ist es ein leichtes, die IDs zu verändern, oder wegzulassen.
Ohne Validierung/ACL kann es Dir so leicht passieren, dass Leute nicht ihre, sondern Daten anderer User ändern - oder auch übernehmen!
-
Am 29. April 2008 um 17:50 Uhr
Das stimmt natürlich. Ich setze meistens daher die IDs, sofern möglich, im Controller, da sie dort vor “Übergriffen” auf die hidden fields geschützt sind.
Auf einen Blick
Archiv
- Juli 2008
- Juni 2008
- Mai 2008
- April 2008
- März 2008
- Februar 2008
- Januar 2008
- Dezember 2007
- November 2007
- Oktober 2007
- September 2007
- August 2007
- Juli 2007
- Juni 2007
- Mai 2007
- April 2007
Kategorien
- Allgemein (69)
- Cake vs Rails (3)
- CakePHP (42)
- Meinung (14)
- Projekt (2)
- Rails (1)
- Tipps (24)
- Typo3 (4)
Letzte Einträge:
- 11.04.2007: Neustart
- 11.04.2007: Design Version 1 steht
- 11.04.2007: Blog