将变量传递给 Rails SLIM 视图

Passing a variable to a Rails SLIM view

Rails 5
SLIM
Bootstrap 4

在我的一个观点中,我有这样的看法:

- if sales > 2000
  button.btn-primary type="button"
- if sales.between?(1000, 2000)
  button.btn-warning type="button"
- if sales < 1000
  button.btn-danger type="button"

我想做的是在 Helper 中解决这个问题,并将一个变量传递给视图,作为要使用的按钮类型。这可能吗?

你可以这样做:

HELPER:

def sales_button(sales)
    case
    when sales > 2000
      "btn-primary"
    when sales.between?(1000, 2000)
      "btn-warning"
    when sales < 1000
      "btn-danger"
    end
end

VIEW中:

button *{class: sales_button(sales) } type="button"