Wie bekomme ich ein array von Checkboxen in haml?
Ich habe ein array von Zeichenketten, genannt @theModels, in eine routine implementiert, die als Teil von " Sinatra-server. Diese Modelle sind die Optionen für den Benutzer zu wählen, und wurden von der back-end (wobei die Idee, als neue Modelle Hinzugefügt werden, dann werden die front-end-code sollte sich nicht ändern).
Ich bin mit haml html zu Rendern.
Wie kann ich aufzählen, die jedes element in der Liste von @theModels, so dass jedes element ist mit einer checkbox? Und wie bekomme ich die Checkboxen der Benutzer ausgewählt hat?
Sehe ich, dass nur darum,
= @theModels
wird mir die Liste der Zeichenfolgen enthalten, die in @theModels, aber ohne Abstände oder ähnliches, und schon gar nicht in den Checkboxen. Ich habe festgestellt,diese Frage, scheint ähnlich zu sein, aber meine haml-fu ist nicht gut genug, um zu konvertieren, dass in das, was ich brauche.
UPDATE:
Diese Optionen im Zusammenhang mit dem hochladen einer Datei, so dass der code jetzt aussieht:
%form{:action=>"/Upload",:method=>"post",:enctype=>"multipart/form-data"}
- @theModelHash.each do |key,value|
%br
%input{:type=>"checkbox", :name=>"#{key}", :value=>1, :checked=>value}
=key
%input{:type=>"file",:name=>"file"}
%input{:type=>"submit",:value=>"Upload"}
Problem ist, das stellt eine Datei-upload-button auf jeder option, statt am Ende. Ich will nur die Schaltfläche "senden" am Ende; ich habe zwei Formulare, die beide berichten über Ihre Ergebnisse, wenn Sie den 'Upload' - button gedrückt wird?
UPDATE2:
Nach einem moment des Nachdenkens, die oben erwähnt sind, können geändert werden:
Dank!
%form{:action=>"/Upload",:method=>"post",:enctype=>"multipart/form-data"}
- @theModelHash.each do |key,value|
%br
%input{:type=>"checkbox", :name=>"#{key}", :value=>1, :checked=>value}
=key
%form{:action=>"/Upload",:method=>"post",:enctype=>"multipart/form-data"}
%input{:type=>"file",:name=>"file"}
%input{:type=>"submit",:value=>"Upload"}
Und das scheint zu tun, was ich will.
InformationsquelleAutor mmr | 2010-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denke ich, sollten Sie senden die Inhalte als hash statt.
Dies gibt Ihnen die Möglichkeit, die ursprünglichen Werte in form.
Den hash, @params wird Ihnen das Ergebnis.
E. g. {"Orangen"=>"1"}
Ich glaube nicht, dass diese zweite Spezifikation ist sehr nah, um das original. Ich finde es frustrierend, wenn Sie ändern das problem nicht ganz, nachdem ich bei der ursprünglichen Antwort. Gehen versuchen Sie oDesk.com
Gut, mit deiner Antwort, ich war in der Lage, um es arbeiten, so ist es in der Tat "sehr nahe". Vielen Dank für Eure Hilfe, tut mir Leid Sie verärgert.
Ich fehlinterpretiert Ihre zweite version. Ich dachte, die Datei enthalten sollte, die alternativen. Sorry für meine Reaktion. Sie können tun, ohne die zweite form, durch undenting die "Datei" Schaltfläche, so ist es nicht Teil der Schleife.
InformationsquelleAutor Kri-ban
Dem link, den Sie verbunden mit einer Schienen-Lösung, wo Sie eine Funktion ordnungsgemäße Rückgabe der html.
Können Sie definieren, diese Funktion selbst:
InformationsquelleAutor Kri-ban