So habe ich ein Eingabeelement wie folgt. Das Umhüllungselement ist, weißt du, eine visuelle Sache.Kann "Feld mit Fehlern" an das übergeordnete Element des Eingabe-Tags angehängt werden, das den Fehler verursacht?
<div class="input-wrap">
<input class="blah-blah" />
</div>
Wenn der <input>
den Fehler enthält, es so sein werde:
<div class="input-wrap">
<div class="field-with-errors">
<input class="blah-blah" />
</div>
</div>
Aber was ich will zu tun ist:
<div class="input-wrap field-with-errors">
<input class="blah-blah" />
</div>
ich diese Seite gefunden, dann ist es sehr nah an meiner Frage
Rails 3: "field-with-errors" wrapper changes the page appearance. How to avoid this?
JetztIch weiß, ich werfen kann
config.action_view.field_error_proc = Proc.new { |html_tag, instance|
"#{html_tag}".html_safe
}
zu vermeiden, dass ein Wickel Tag machen um die <input>
Tag, das auf einen Fehler aufweist. Aber was ich wirklich tun möchte, ist wieder hinzufügen "Feld-mit-Fehler" -Klasse auf dem direkten Elternteil der <input>
-Tag. Kann ich das machen? Behält ActionView die Baumstruktur von DOM Nodes?
Haben Sie eine Lösung gefunden? Es scheint (für einen Anfänger wie mich) unmöglich zu erreichen. Wahrscheinlich ist ein weiterer Helfer als Wrapper erforderlich – GorillaApe
Es gibt einige verwandte Fragen im Seitenmenü. Es scheint keine einfache Lösung dafür zu geben? Ich weiß nicht. http://stackoverflow.com/questions/5267998/rails-3-field-with-errors-wrapper-changes-the-page-appearance-how-to-avoid-t bietet einen guten Hinweis. Wenn Sie die Vorlage nicht von der Hilfsfunktion aus ändern können, fügen Sie möglicherweise ein Datenattribut hinzu und fügen Sie den Klassennamen dem übergeordneten Element durch JS hinzu? Es klingt schrecklich, aber es könnte eine Möglichkeit sein, es zu tun ... – beatak
Hallo @ beatak, trotz es war eine Weile, hast du [diesen Kommentar] gesehen (https://stackoverflow.com/questions/5267998/rails-3-field- with-errors-wrapper-changes-die-Seite-aussehen-how-to-avoid-t/8380400 # 8380400) von diesem SO? Es scheint, dass er es tatsächlich geschafft hat, indem er auf der String-Ebene manipuliert hat. – SanjiBukai