Ich habe mich vielleicht zu früh gefreut. ![]()
Nachdem ich die wahrheitswerten/falschen Parameter auf die Strings ‘true’/‘false’ korrigiert habe, werden beim Löschen von Benutzern weiterhin Einträge zu „Gescannten IPs“ und „Gescannten E-Mails“ hinzugefügt.
Hier sind die Rails-Logs für einen API-Aufruf:
Started DELETE "/admin/users/9553.json" for 123.123.123.123 at 2021-06-10 00:01:21 +0000
Processing by Admin::UsersController#destroy as JSON
Parameters: {"delete_posts"=>"false", "block_email"=>"false", "blocked_urls"=>"false", "block_ip"=>"false", "id"=>"9553"}
Can't verify CSRF token authenticity.
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 418 in 8ms (Views: 1.4ms | ActiveRecord: 0.0ms | Allocations: 2301)
Und hier ist die Anfrage, wenn sie über die Weboberfläche statt über die API durchgeführt wird:
Started DELETE "/admin/users/49.json" for 123.123.123.123 at 2021-06-10 08:24:47 +0000
Processing by Admin::UsersController#destroy as JSON
Parameters: {"context"=>"/admin/users/49/XXX", "delete_posts"=>"true", "id"=>"49"}
Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 418 in 23ms (Views: 4.7ms | ActiveRecord: 0.0ms | Allocations: 1778)
Nach einigen Tests scheint es also, als würden die Parameter für den API-Endpunkt /admin/users/{id}.json immer als wahr interpretiert, wenn sie vorhanden sind, unabhängig davon, ob sie tatsächlich auf ‘true’ oder ‘false’ gesetzt sind?
Sobald ich nur noch die Parameter setzte, die ‘true’ waren, und die ‘false’-Parameter übersprang, wurden keine weiteren Einträge zu den Gescannten IPs/E-Mails hinzugefügt.
Ist dies das beabsichtigte Verhalten? Das entspricht nicht meinem Verständnis aus der Dokumentation.