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

Hyperstack add dynamic class to manual class names

我需要在更新 Hyperstack 语法时向一些常规 class 添加动态 class:

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

应该变成这样:

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

我只是想不通 how/if 常规和动态 classes 可以一起声明。

可以有条件地进行字符串插值:

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)

我相信还有很多其他方法可以做到这一点,这就是 ruby!