gpt4 book ai didi

ruby-on-rails - HAML 中一个元素的多个动态类

转载 作者:行者123 更新时间:2023-12-04 06:00:08 25 4
gpt4 key购买 nike

这行得通,但是很冗长。如何缩短这个?

.service{:class => [route.night? ? “夜”:“”,route.school? ? “学校”:“”] * “”

我希望这个元素有:

  • class = "service" 如果不是 route.night? 也不是 route.school?
  • class = "night service" 如果 route.night? 而不是 route.school?
  • class = "school service" 如果不是 route.night?route.school?
  • class = "school night service" 如果 route.night?route.school?

编辑:马特帮我把它缩短了三个字符:

.service{:class => [route.night? ? “夜”:“”,route.school? ? “学校”:“”]}

还能做什么?

最佳答案

我建议实现一个助手

def service_class_helper(route)
classes = ['service']
classes << 'night' if route.night?
classes << 'school' if route.school?
classes
end

并相应地在您的模板中使用它

:class => service_class_helper(route)

如果不需要使用助手,你可以使用类似的东西

.service{:class => ['night', 'school'].select { |c| c if route.send("#{c}?") } }

这个工作很简单。但必然会受到一些明显的限制。

关于ruby-on-rails - HAML 中一个元素的多个动态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com