1. ホーム
  2. ruby

[解決済み] ハムル Hamlで条件が真であればクラスを追加する

2022-04-26 22:05:28

質問

もし post.published?

.post
  / Post stuff

その他

.post.gray
  / Post stuff

rails helperで実装してみましたが、不格好な感じです。

= content_tag :div, :class => "post" + (" gray" unless post.published?).to_s do
  / Post stuff

2つ目のバリアント

= content_tag :div, :class => "post" + (post.published? ? "" : " gray") do
  / Post stuff

もっとシンプルでハムに特化した方法はないのでしょうか?

UPDです。ハム専用、でもやっぱりシンプルじゃない。

%div{:class => "post" + (" gray" unless post.published?).to_s}
  / Post stuff

解決方法は?

.post{:class => ("gray" unless post.published?)}