如何在Slim lang中动态添加属性?

时间:2016-05-13 03:07:46

标签: html elixir phoenix-framework slim-lang

在我的Exlir / Phoenix应用程序中,我使用的是瘦,我想动态添加属性:

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

然而,slim将输入标记中的checked="checked"作为其内容呈现,并且更多地将其转义。 如何动态添加属性checked="checked"?请注意:

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

对我不起作用,因为我需要将整个 checked =“checked”添加到代码中,或者

1 个答案:

答案 0 :(得分:1)

您可以为属性指定一个布尔值,如果值为true,它只会输出属性名称。这相当于在HTML5中添加checked="checked"

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>

Slime's README中也提到了这一点。