私が構築したすべてのWebアプリケーションで、この問題が発生します。条件付きでHTML要素のクラスを設定したい。例えば、時々ポストのため<div>
は、次のようになります。ベストプラクティス:WebアプリケーションでHTMLクラスを設定する
<div class="post">...</div>
そして、時には、それは次のようになります。いくつかのロジックは、それがあるべきことを決めたので、
<div class="post even recent replied_to author_is_admin">...</div>
各クラスpost
後にすることはあります。これに最善の方法は何ですか? Railsの+ HAMLでは、私のようなものをやっての有罪きた:
-classes = []
-classes << cycle('even', 'odd')
-classes << 'recent' if post.recent?
-classes << 'replied_to' if post.replied_to?
-classes << 'author_is_admin' if post.author_is_admin?
.post{:class => classes.join(' ')}
...
それはかなりではない、と私は私がこれを行うことができますので、それはヘルパーを使用するように短縮しました:
.post{:class => "#{cycle('even', 'odd')} #{post_classes}"}
それは、まだ読んでおくほうがいいと思われます。なぜなら、私たちはいつも何かをしているからです。あなたは、このプロセスを簡潔かつ読みやすくする方法はありますか?