2010-12-17 30 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