1

haml/css で if else をインラインでどのように記述しますか? ここに私の作業コードがあります:

- if unit > 10
  = value
- else
  .unit
    = value

以下のようにインライン化しようとしましたが、うまくいきません。

%span{class: ('my-value') if unit > 10})
4

2 に答える 2

3

括弧が最初に評価されるため、単位が 10 より大きい場合、「my value」がクラスとして設定されます。

%span{class: ('my-value' if unit > 10)}
于 2013-05-06T22:10:40.020 に答える
3

このような単純なケースでは、三項演算子を好みます。

%span{class: unit > 10 ? 'my-value' : nil}

単純な条件よりも複雑になった場合は、ヘルパーに抽出します。

%span{class: unit_class(unit)}

そしてヘルパーファイルで:

def unit_class(unit)
  if unit > 10
    'my-value'
  else
    'something-else'
  end
end
于 2013-05-06T23:07:22.150 に答える