[英]How do I make dynamic ids in Haml?
#item
用id =“ item”創建一個div
.box#item
用class =“ box”和id =“ item”創建一個div
.box#="item "+x
用class =“ box”和注釋'#=“ item” + x'創建一個div
.box#
="item"+x
拋出“非法元素:類和ID必須具有值。”
如何將ID設置為變量?
有兩種方法:
長格式(將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參考 。
您可以通過以下方式在HAML中設置id
和class
正常方式
.box.item#item
<div id="item" class="box item"></div>
如果需要插值,可以使用此格式
.box{id: "item_#{123}", class: "item_#{123}"}
<div id="item_123" class="box item_123"></div>
此格式使用對象引用生成類和ID
# app/controllers/items_controller.rb @item = Item.find(123)
.box[@item]
<div id="item_123" class="box item"></div>
如果您需要添加前綴
.box[@item, :custom]
<div id="custom_item_123" class="box custom_item"></div>
如果需要自定義類和ID生成,則需要添加以下方法進行建模。
class CrazyUser < ActiveRecord::Base def haml_object_ref "customized_item" end end
然后您將獲得定制的課程
.box[@item]
<div id="customized_item_123" class="box customized_item"></div>
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.