如何定义class in and Arbre block?

How to define class in and Arbre block?

抱歉,如果这是一个愚蠢的问题,但我想知道如何在 Arbre 块中定义 class。我试图简单地把逗号放在块后面,但是 Ruby 指责它有一个错误(具体来说:“意外的标记 tCOMMA(使用 Ruby 2.3 解析器;使用 TargetRubyVersion 参数配置,在 AllCops) (错误:Lint/Syntax)").

我是这样尝试的:

div {
    h4 "Title", class: "title"
    span "Info", class: "info"
}, class: "my_div"

这导致上述错误。但我真的不知道还有什么其他方法可以解决这个问题。任何帮助将不胜感激!

Arbre 定义是 ruby 方法,具有您必须遵循的基本语法。首先是位置参数,然后是关键字参数,最后是一个块。在您的示例中,您以相反的方式进行操作,因此您传递一个块然后传递一个关键字参数。要解决此问题,只需更改为:

div class: "my_div" {
    h4 "Title", class: "title"
    span "Info", class: "info"
}

相当于:

div(class: "my_div") {
    h4("Title", class: "title")
    span("Info", class: "info")
}