もし post.published?
.post
/ Post stuff
さもないと
.post.gray
/ Post stuff
私はこれをRailsヘルパーで実装しましたが、醜いようです。
= 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
よりシンプルでhaml固有の方法はありますか?
UPD。Haml固有ですが、それでも単純ではありません。
%div{:class => "post" + (" gray" unless post.published?).to_s}
/ Post stuff