Ich muss den Inhalt eines Formulars greifen, bevor die Absendetaste gedrückt wird, um die Benutzereingabe zu speichern. Wenn das Formular gesendet wird und die Validierung fehlschlägt, gehen die Benutzereingaben verloren.Versuch, Inhalt einer Variablen den Parametern zuzuweisen [:
Ich habe den Hauptinhalt des Formulars ok mit Sitzungsvariablen arbeiten. Allerdings möchte ich die params nehmen [: Bilder] aus Büroklammer und dass in einer Tabelle mit einer Spalte speichern und dann in params laden zurück [: Bilder]
Meine Form hat
<div class="field" title="You may attach one or more documents to this observation: Pictures, word documents, spreadsheets, etc">
<%= f.label :Upload_attachments %><br>
<%= file_field_tag "images[]", type: :file, multiple: true %>
</div>
im respond_to für erstellen, kann ich den Inhalt von params schreiben [: Bilder] auf eine Tabelle mit
if params[:images]
temp_data = TempDatum.create(item: '2', data: params[:images])
end
, das funktioniert und die Ergebnisse in etwa wie folgt in Daten
[#, @ ursprünglicher_Dateiname = "2016 06 13 capture.JPG", @ content_type = "image/jpeg", @ headers = "Inhalt-Disposition: Formulardaten; Name = \ "Bilder [] \"; filename = \ "2016 06 13 capture.JPG \" \ r \ nContent-Typ: image/jpeg \ r \ n ">]
in meinem zu schaffen, ich habe folgende
@image_data = TempDatum.last
if @image_data.present?
# params[:images] = @image_data.data
params[:images] = '[#<ActionDispatch::Http::UploadedFile:0xe4a46e8 @tempfile=#<Tempfile:C:/Users/cmendla/AppData/Local/Temp/RackMultipart20160614-13124-iib9h0.JPG>, @original_filename="2016 06 13 capture.JPG", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"images[]\"; filename=\"2016 06 13 capture.JPG\"\r\nContent-Type: image/jpeg\r\n">]'
$temp1 = 'got here'
end
Ich habe verschiedene Möglichkeiten ausprobiert, um den Inhalt von TempDatum.data in die params zu bekommen [: images] So wie es jetzt ist, habe ich einfach versucht, die rohen Daten aus dem Datenfeld in der Tabelle zu nehmen
Was muss ich tun, um params [: images] auf die Werte in TempDatum.data für einen bestimmten Datensatz zu setzen: