2016-05-13 2 views
4

В моем приложении Exlir/Phoenix Я использую тонкий, и я хочу, чтобы добавить атрибут динамически:Как добавить атрибут динамически в Slim lang?

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

Однако, тонкий делает этот checked="checked" внутри входного тега, как его содержание и, более того, убежали. Как добавить атрибут checked="checked" динамически? Обратите внимание, что это:

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

не работает для меня, потому что мне нужно либо добавить весь проверил = «проверено» к тегу или ничего вообще.

ответ

1

Вы можете присвоить логическое значение атрибуту, и оно будет выдавать только имя атрибута, если значение равно true. Это должно быть эквивалентно добавлению checked="checked" в HTML5.

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.

+0

Это немного запутанно - есть библиотека _slime_ для использования _slim_ с Elixir. :) На минуту я подумал, что ты ошибся. –

Смежные вопросы