Rails/Slim_Dynamic 数据标签属性

Posted

技术标签:

【中文标题】Rails/Slim_Dynamic 数据标签属性【英文标题】:Rails/Slim_Dynamic data tag attributes 【发布时间】: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 代码?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于Rails/Slim_Dynamic 数据标签属性的主要内容,如果未能解决你的问题,请参考以下文章

未为 PPT 中的图表设置数据标签属性

如何查找具有特定数据属性的所有标签?

快速矿工:如何向数据集添加“标签”属性?

爬虫进阶Selenium定位获取标签对象并提取数据

如何将 HTML5 数据属性添加到 Rails 表单标签标签?

通过html标签数据属性动态加载js、css文件