代码之家  ›  专栏  ›  技术社区  ›  Robbie

在助手中使用XMLBuilder获得正确的缩进

  •  1
  • Robbie  · 技术社区  · 14 年前

    <ul class="right">
      <li><a href="#">Login</a></li>
      <li><a href="#">Register</a></li>
    </ul>
    

    在view helper中,我有以下Ruby代码:

    def loginh
      xm = Builder::XmlMarkup.new(:indent=>2, :margin=>4)
      xm.ul("class" => "right") {
         xm.li('class' => 'text') { 
            xm.text("test") 
         }
      }
    end
    

    在视图中,调用login helper的行已经缩进了4个级别。正因为如此,第一行变得“倾斜”,所以在视图中:

            <%= loginh %>
    

    结果是:

                    <ul class="right"> 
          <li class="text"> 
            <text>test</text> 
          </li> 
        </ul> 
    

    除了第一行,你可以看到它工作得很好。

    有没有办法去掉开头的空格?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Daniel Heath    14 年前

    <

    诀窍是在结束部分使用减号,以抑制多余的空白。

    或者,可以使用backticks(`character)将输出通过HTMLTidy进行管道传输。