2016-05-13 14 views
4

In meinem Exlir/Phoenix App Ich bin mit schlank und ich mag dynamisch ein Attribut hinzufügen:Wie kann ich ein Attribut dynamisch in Slim lang hinzufügen?

input type="checkbox" <%= if some_condition, do: ~s{checked="checked"} %> 

jedoch schlank diesen checked="checked" innerhalb des Eingangs-Tages als Inhalt und mehr über entkam macht. Wie kann ich das Attribut checked="checked" dynamisch hinzufügen? Beachten Sie, dass dies:

input type="checkbox" checked="<%= if some_condition, do: ~s{checked} %>" 

nicht für mich arbeiten, weil ich müssen entweder hinzufügen, die ganze checked = „checked“ mit dem Tag oder nichts überhaupt.

Antwort

1

Sie können dem Attribut einen booleschen Wert zuweisen und es gibt nur den Attributnamen aus, wenn der Wert true ist. Dies sollte dem Hinzufügen von checked="checked" in HTML5 entsprechen.

iex(1)> IO.puts Slime.render("input type=\"checkbox\" checked=some_condition", some_condition: false) 
<input type="checkbox"> 
:ok 
iex(2)> IO.puts Slime.render("input type=\"checkbox\" checked=some_condition", some_condition: true) 
<input type="checkbox" checked> 

Dies wird auch in Slime's README erwähnt.

+0

Das ist ein wenig verwirrend - es gibt eine _lslim_ Bibliothek für _slim_ mit Elixir. :) Für eine Minute dachte ich, du hättest dich vertippt. –