Rails/Slim_Dynamic 数据标签属性
Rails/Slim_Dynamic data tag attributes
https://github.com/slim-template/slim-rails/issues/168
如何将低于 erb 的值转换为 slim?
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}" } }
或者您可以使用辅助方法将 return 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
https://github.com/slim-template/slim-rails/issues/168
如何将低于 erb 的值转换为 slim?
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}" } }
或者您可以使用辅助方法将 return 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