0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

railsで動的にclass/id名をつける

Posted at

結論

クラス名に変数代入を使用する。

背景

DBからデータを取得して一つずつ表示する機能を実装していました。
動的に表示非表示を切り替える処理を実装するときにrailsのviewファイルに

<div>class="section1"</div>
<div>class="section2"</div>
<div>class="section3"</div>
<div>class="section4"</div>
.
.
.

<div>class="section10"</div>

と記載して都度display:noneで表示非表示を切り替えるというものでした。

何が悪なのか

railsの設計思想の一つにDRY(Don’t Repeat Yourself)があります。「コードを重複させない」という意味合いです。
可読性が下がる。コード量が増える意味合いでも極力コードの重複は減らさなければなりません。

具体例

今回はDBから取得したデータを一つずつ表示非表示するというものでした

class=<%= "section#{question.id}" %>

このようにすることでデータのidに紐付けたクラス名を作成することができます。
100行でも1,000行でもでそれぞれのクラス名を付与した要素を作ることができます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?