问题描述
https://github.com/slim-template/slim-rails/issues/168
如何在erb以下将其转换为苗条?
ERB代码
<div class="click" <%= love_type ? "data-review=#{target}" : "data-recommend=#{target}" %>
data-logined='<%= sth%>'></div>
我尝试过...
.click[data-logined="#{sth}"
love_type ? data-review="#{target}" : data-recommend="#{target}"]
和
.click data-logined="#{sth}" love_type ? data-review="#{target}" : data-recommend="#{target}"
但是不行...
我该如何编写简单的DRY代码?
解决方法
尝试一下:
.click *{ data: { logined: "#{sth}",review: "#{love_type ? target : nil }",recommend:"#{love_type ? nil : target}" } }
或者您可以使用辅助方法将data
作为哈希返回:
.click *{ data: as_a_hash(love_type) }
helper_method:
def as_a_hash(args)
{ logined: "#{sth}",review: "#{args ? target : nil }",recommend:"#{args ? nil : target}" }
end