Hallo zusammen,

ich bastel gerade an einer Webservice-Applikation und stelle fest, dass bei einem POST der XML-Repräsentation einer Ressource auf eine Kollektion auch das ID-Attribut mit berücksichtigt wird. Also:

curl -X POST -d @p.xml -H "Content-Type: application/xml" -i http:// localhost:3006/protokolle.xml

mit dieser p.xml:

<?xml version="1.0" encoding="UTF-8"?>
<protokoll>
  <bemerkung>Ein Testprotokoll</bemerkung>
  <id type="integer">1</id>
</protokoll>

bewirkt, dass meine Applikation versucht, ein Protokoll mit der ID 1 anzulegen. Und wenn's die schon gibt, dann knallt's.

Nach den Spezifikationen des HTTP-Protokolls soll ja POST dazu benutzt werden, neue Ressourcen zu erstellen, deren URL man (noch) nicht kennt. Nachdem das Rails-Standard-Verhalten ist, die ID in der URL zu benutzen, sollte eigentlich die ID beim POST ignoriert werden, oder?

Kann man dieses Verhalten irgendwie global einstellen? Oder muss man einfach einen before_create callback in jeden Controller packen?


Grüße, Niko._______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an