LoginSignup
3
3

More than 5 years have passed since last update.

【Rails】BEMのmodifier付きのclassを生成するhelperを作る

Posted at

はじめに

特定の条件の時だけテキストの色を赤色にしたいのように、動的にBEMのmodifier付きのクラスを追加したいということはよくありますよね。
結構頻繁にあるなと思ってmodifier付きのclassを生成するhelperを作成しました。

今回は、Railsですがどのプロジェクトでも応用はきくとおもいます。

コード

早速コードにうつります。

def class_with_modifier(class_name, class_modifier)
  "#{class_name}--#{class_modifier}" if class_modifier.present?
end

実際にはこういう感じで使います。

.hoge class="class_with_modifier('hoge', 'red')"

さて、なぜ

if class_modifier.present?

があるのかと思うかもしれないですが、別のhelperを作った時に、ある条件のときはmodifierをつけないで返すというようなことをしたいときがしばしばあったためです。
もしifの条件がないと hoge--みたいに意味のないclassが生成されるのが嫌だなと感じたので条件を追加しています。

終わりに

意外に使用頻度が高くてDRYにしておきたいなと思ったので、この機会にまとめてみました!
以上参考になれば幸いです!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3