Ich verwende Rails 4.2.3. In meinem Kaffee-Skript, ich bearbeite ich die URL manuell und Wirkung einer Form wie so ...Wie verwende ich mein coffeescript, um die Formularmethode in PUT/PATCH zu ändern?
# Alter the form submit behavior
$('#new_my_object').attr("action", "/my_objects/" + id)
$('#new_my_object').attr("method", "patch")
Aber ich meine Form (durch Klicken auf meiner Submit-Button ...)
<%= button_to "Save", { :action => "create" }, :method => :post, :class => 'button' %>
Die Anfrage (sowohl auf Mac Chrome als auch auf Firefox) wird mit method = "GET" anstatt mit dem, was ich geändert habe, gesendet. Was muss ich tun, damit ich über eine PATCH-Methode senden kann? (Ich muss dies tun, da dies für meine Aktualisierungsaktion erforderlich ist).
Wenn das, was Sie sagen, wahr ist, wie übermittelt Rails dann Formulare? In meiner config/routes.rb-Datei habe ich "resources: my_objects" definiert, was bedeutet, dass Updates für "/ my_objects /: id" eine "PUT/PATCH" -Methode erfordern, zumindest entsprechend der Rails-Dokumentation, die ich lese . – Dave
@Dave Sie können angeben ['_method = patch'] (http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-patch-put-oder-delete-methods-work-questionmark) als Formular-Parameter für eine POST-Anfrage, um die Einschränkung zu umgehen. – univerio