Wie wird die Feldhervorhebung für Felder angezeigt, die Validierungsfehler in Rails 3.1 nicht bestehen? Ich weiß, dass Scaffolding automatisch den CSS- und Controller-Code erzeugt, um damit umzugehen, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, das manuell zu generieren. Ich habe bereits die String-Anzeige von Fehlermeldungen implementiert durch: @ user.errors.full_messages.each ... etc, aber ich kann die Felder nicht rot markiert bekommen. Irgendwelche Ideen?
Danke.
Angenommen, Sie haben eine Fehler -Klasse für Felder in Ihrer CSS-Datei:
%Vor%Ist das was du willst?
Extra : hier ist ein Abschnitt zum Anpassen der Standardeinstellungen ActiveRecord-Validierungen CSS.
Bearbeiten: (über extra ifs)
%Vor%Und dann:
%Vor%(Ich habe dort vielleicht einen Fehler gemacht - ich schreibe auf einem Telefon - aber Sie erhalten die allgemeine Idee. Sie können dies in einer Anzahl von Wegen = unendlich programmieren, also tun Sie es so, wie Sie es möchten. ..)
Rails haben jetzt einen schönen Trick im Ärmel..Wenn ein error
auftritt, legen Sie ein div
mit einer Klasse .field_with_errors
um die Fehlerfelder. Jetzt können Sie diese Klasse gezielt ansprechen und Styling hinzufügen.
Um sich auf die Eingabe zu konzentrieren, können Sie
verwenden %Vor% Diese CSS setzt eine schöne rote Linie um das Element input
, während important!
vorhandene Stile überschreibt.
Ich musste dies tun (resource.errors [field_name] .length & gt; 0), um es zum Laufen zu bringen:
def field_class (Ressource, Feldname) if resource.errors [Feldname] .length & gt; 0 gib "custom_error1" .html_safe zurück sonst return "" .html_safe Ende Ende
Tags und Links ruby ruby-on-rails validation validationerror