【问题标题】:Rails/Slim_Dynamic data tag attributesRails/Slim_Dynamic 数据标签属性
【发布时间】:2021-01-15 21:21:11
【问题描述】:

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 代码?

【问题讨论】:

    标签: ruby-on-rails erb slim-lang


    【解决方案1】:

    试试这个:

    .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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2014-01-15
      • 2020-12-04
      • 2020-10-24
      • 1970-01-01
      • 2015-11-06
      • 2022-01-14
      相关资源
      最近更新 更多