我試圖在.each
循環內使用HAML生成以下代碼。根據循環中的真/假條件,它應該在div1
之前創建一個新的div1
,其中div2
或追加div2
。這是邏輯的簡化:處理HAML縮進?
Desired output:
if true, append `div2` within `div1`,
<div class="div1"> #added by true condition
div1 text
<div class="div2"> #added by true condition
div2 text
</div>
<div class="div2"> #added by false condition
div2 text
</div>
<div class="div2"> #added by false condition
div2 text
</div>
</div>
else, create a new `div1` and add `div2` within it
<div class="div1"> #added by true condition
div1 text
<div class="div2"> #added by true condition
div2 text
</div>
</div>
<div class="div1"> #new div1, added by true condition
div1 text
<div class="div2"> #added by true condition
div2 text
</div>
</div>
實際上,我試圖做到這一點
//within a loop logic
- if condition == true
.div1
div1 text
-# in all conditions
.div2
div2 text
這是我HAML邏輯,我用tab_up
但我不認爲這是正確的HAML方法:
//within a loop logic
- if condition == true
.div1
div1 text
- tab_up(2) #trying to indent the HAML, not just the HTML output
.div2
div2 text
你是什麼意思的「編程生成」?爲了'div2'在'div1'裏面,它需要比'div1'更多的在Haml源文件中縮進。 'tab_up'只是控制輸出外觀,不影響結構。你需要提供一個你想要做什麼的例子。 – matt
問題不明確。你排除的解決方案顯然是正確的。 – depa
非常感謝matt&depa,我試着清除一些。 – Dean