Hallo,
ich melde mich zurück mit einer Erfolgsmeldung und einer Frage zu meiner
oben genannten Problematik. Allerdings habe ich es mir bei der
Überprüfung mit AJAX etwas einfacher gemacht und überprüfe die vier
Felder immer nachdem diese verlassen wurden, ob alle benötigten Felder
ausgefüllt wurden. Also nicht direkt bei der Eingabe. Auch die Anzeige
einer entsprechenden Meldung funktioniert und wird an der richtigen
Stelle eingefügt.
Jetzt habe ich aber eine Frage zu der Realisierung dieser Funktionalität
(Prüfung auf Duplikate und Ausgabe einer Meldung mit den gefundenen
Duplikaten unter einem Feld) ohne JavaScript (Fallback-Lösung). Ich habe
es mir wie folgt vorgestellt:
Beim Abschicken des Formulars wird überprüft, ob die Validierung bereits
von der JS-Lösung durchgeführt wurde (mittels eines hidden Feldes). Wenn
nicht, soll die Action für die Validierung aufgerufen werden. Der für
mich etwas knifflige Teil kommt jetzt: Wenn ein Duplikat gefunden wurde,
soll der Nutzer wieder das Formular der "new"-Action angezeigt bekommen.
Zusätzlich soll ein Partial (welches die Meldung enthält) an einer
bestimmten Stelle des Quellcodes eingeblendet werden.
Im Moment rufe ich die Action für die Validierung innerhalb der
"create"-Action auf:
def create
@test = Test.new(params[:test])
# Check duplicate
if @test[:checkDuplicate].blank?
check_duplicate(@hotspot)
end
respond_to do |format|
if @test.save
flash[:notice] = 'Der Datensatz wurde erfolgreich gespeichert.'
format.html { redirect_to(@test) }
format.xml { render :xml => @test, :status => :created,
:location => @test }
else
format.html { render :action => "new" }
format.xml { render :xml => @test.errors, :status =>
:unprocessable_entity }
end
end
end
Jetzt komme ich aber leider nicht weiter dass die "news"-Action mit dem
Partial angezeigt wird. Denn innerhalb der "create"-Action darf ich ja
nur einmal den render Befehl verwenden. Und wenn die Überprüfung bereits
stattgefunden hat, soll ja weiterhin der restliche Code (Eintragung in
der Datenbank und je nach Ergebnis die show Seite angezeigt werden oder
das Formular mit den Fehlern) ausgeführt werden. Wisst ihr was ich
meine?
Viele Grüße,
Christian
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug