Rails - bedingte HTML-Attribute

7

Wenn ich mich in den Dokumenten umschaut, kann ich keinen richtigen Weg finden, dies zu tun. Hier ist ein Beispiel mit nicht-refaktoriertem Code:

%Vor%

Nun könnte das mit jedem html-Attribut gleich sein, das Ergebnis ist, dass ich kein gültiges xhmtl habe, weil das Tag leer ist, wenn die Bedingung nicht übergeben wird.

%Vor%

Wie kann ich die Attributdefinition konditional machen, nicht nur ihren Wert?

    
mark 23.12.2010, 10:55
quelle

2 Antworten

18

Verwenden Sie nil anstelle einer leeren Zeichenfolge:

= link_to user.name, user, :meta => user.public? ? nil : 'nofollow noindex'

    
dtrasbo 23.12.2010, 11:03
quelle
4

Diese Frage ist beantwortet, aber ich möchte einen speziellen Fall erwähnen, in dem drasbo nicht funktioniert.

Wenn Sie das Vorhandensein eines Attributs bedingungsabhängig machen möchten. Sage überprüftes Attribut von input[type=checkbox] !

Das Vorhandensein eines geprüften Attributs macht den Unterschied und leider neigen Browser dazu, ihren Wert zu ignorieren.

Leider ist es nicht mit HAML-Syntax verfügbar. Um dies zu tun, müssen Sie auf das Standard-HTML-Tag zurückgreifen:

%Vor%     
Annie 26.06.2013 13:42
quelle

Tags und Links