簡體   English   中英

如何在Haml中制作動態ID?

[英]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}"}

產生這個( xx.to_s值):

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

簡寫方式:

.box[x]

假設xitem的實例,則產生以下結果:

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

有關更多信息,請參見HAML參考

您可以通過以下方式在HAML中設置idclass

  1. 正常方式

     .box.item#item 
     <div id="item" class="box item"></div> 
  2. 如果需要插值,可以使用此格式

     .box{id: "item_#{123}", class: "item_#{123}"} 
     <div id="item_123" class="box item_123"></div> 
  3. 此格式使用對象引用生成類和ID

     # app/controllers/items_controller.rb @item = Item.find(123) 
     .box[@item] 
     <div id="item_123" class="box item"></div> 
  4. 如果您需要添加前綴

     .box[@item, :custom] 
     <div id="custom_item_123" class="box custom_item"></div> 
  5. 如果需要自定義類和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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM