2010-12-17 33 views
2

erb中是否有與Smarty的{strip}等效的?軌道中{strip}的等效物

澄清:

我不是在尋找.strip。閱讀Smarty的{strip}文檔;

空白之間標籤是重要的,當你嘗試匹配寬度等非常重要。例如,如果你有這樣的代碼:

<ul> 
    <li>Something</li> 
    <li>Something else</li> 
</ul> 

li■找display: inline,會有它們之間的空間,即使他們沒有margin。由於</li><li>之間的空格出現該空間。所以,唯一的解決辦法,以沒有<li> S之間是否有空間做到這一點:

<ul><li>Something</li><li>Something else</li></ul> 

這是相當的fugly和你結束了巨大的,不可讀取行,當你開始把<a> S IN的<li> S和等等。

+0

我讀鏈接的文檔在你的問題,但我不明白什麼時候在標記的空白是重要的?這是過時的功能嗎? – 2010-12-17 12:24:05

+0

你在尋找'.strip'嗎? http://stackoverflow.com/questions/1634750/ruby-function-to-remove-all-white-spaces – Piskvor 2010-12-17 12:28:25

+0

@Jeff Paquette:並非所有可以生成的都是HTML(並且不關心空白)。 – Piskvor 2010-12-17 12:29:32

回答

1

總是有把空間的標籤中的「傳統」方法(仍然有效XML):

<ul 
    ><li><a href="#">bla</a></li 
    ><li><a href="#">bla</a></li 
></ul> 
+0

好笑,我喜歡+1 – 2010-12-18 18:48:16

0

您有以下選項

  • Haml你可以><
  • 在ERB的 ERB::Compiler::TrimScanner
  • 做也許能幫助你,但我從來沒有使用過它。據我瞭解,它應該是這樣的:<%w capture do %> here comes your code with whitespaces <% end %>
+0

有趣,但我們不使用Haml,所以我不能使用它。 – Felix 2010-12-17 12:36:48