3

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

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

应该变成这样:

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

我似乎无法弄清楚如何/是否可以一起声明常规类和动态类。

4

1 回答 1

4

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

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

类参数也可以接受一个数组:

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

DIV(class: upload_header_classes)

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

于 2019-03-28T00:24:41.683 回答