Hyperstack将动态类添加到手动类名称

时间:2019-03-27 20:42:47

标签: html css ruby-on-rails ruby hyperstack

在更新Hyperstack的语法时,我需要在一些常规类中添加动态类:

div.upload_header.text_left(class: ('uploaded' if 
FileUploads.complete?)) do

应该变成这样:

DIV(class: 'upload-header text-left (dynamic 'uploaded' should go 
here)') do

我似乎无法弄清楚如何将常规类和动态类一起声明。

1 个答案:

答案 0 :(得分:4)

字符串插值可以有条件地完成:

DIV(class: "upload-header text-left #{'uploaded' if FileUploads.complete?}")

class参数还可以接受一个数组:

def upload_header_classes
  ['upload-header', 'text-left'].tap do |classes|
    classes << 'uploaded' if FileUploads.complete?
  end
end

DIV(class: upload_header_classes)

我敢肯定还有很多其他方法可以做到,这是红宝石!