IT박스

Haml에서 어떻게 동적 ID를 만드나요?

itboxs 2020. 10. 24. 09:56
반응형

Haml에서 어떻게 동적 ID를 만드나요?


#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 참조 를 참조하세요.


당신은 설정할 수 있습니다 idclassHAML에서 다음과 같은 방법을

  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>
    

보내다:

참고 URL : https://stackoverflow.com/questions/2217583/how-do-i-make-dynamic-ids-in-haml

반응형