문제
#item
id = "항목"으로 div를 만듭니다.
.box#item
클래스 = "box"및 id = "item"으로 div를 만듭니다.
.box#="item "+x
class = "box"와 주석 '#= "항목"+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 Reference 자세한 내용은.
다른 팁
당신은 설정할 수 있습니다 id
그리고 class
Haml에서 다음 방법
정상적인 방법
.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>
나타내다:
제휴하지 않습니다 StackOverflow