1. ホーム
  2. ruby-on-rails

Hamlで動的IDを作るには?

2023-09-02 20:29:50

質問

#item

id="item"を持つdivを作成します。

.box#item

は、class="box" と id"item" を持つdivを作成します。

.box#="item "+x

class="box" とコメント '#="item"+x' を持つ div を作成します。

.box#
  ="item"+x

throws "不正な要素: クラスとIDは値を持たなければなりません."

idを変数に設定するにはどうしたらよいですか?

どのように解決するのですか?

2つの方法があります。

長い形式の方法(idを通常の属性であるかのように定義する)。

.box{:id => "item_#{x}"}

はこれを生成する ( x は、これまで x.to_s に評価される)。

<div class="box" id="item_x">

ショートフォームの方法です。

.box[x]

は次のように仮定して生成します。 x のインスタンスであるとします。 item :

<div class="box item" id="item_45">

を参照してください。 HAMLリファレンス を参照してください。