4 Stimmen

Unerwünschte Leerzeichen in der Erb-Ansicht

Hier ist mein Sinatra-Code:

get '/' do
    foo = 'not bar'
    erb :index
end

Mein layout.erb

<html>
  <head></head>
  <body>
    <%= yield %>
  </body>
</html>

Meine index.erb

<div class="container">
</div>

Das Problem ist nun screen shot of problem

Der zusätzliche Text (gelb hervorgehoben) stört mein Design Irgendeine Idee, warum das passiert? Das passiert nicht, wenn ich kein Layout verwende und nur index.erb mit dem gesamten HTML-Code verwende.

[Bearbeiten:] Die Verwendung von <%= yield -%> führt zu einem Fehler (unexpected tUMINUS, expecting kEND ; @_out_buf.concat " "; - yield -; @_out_buf.concat " \n " ) in .... layout.rb

5voto

han Punkte 165

Meine beste Vermutung ist, dass die 4 Leerzeichen von den weichen Tabs in Ihrem layout.erb stammen

<body>
____<%= yield %>
</body>

Versuchen Sie <body><%= yield%></body> ?

Ich benutze Slim schon seit langem und

body
= yield

Niemals versagt mir die Leertaste

ERB hassen

3voto

Mailo Světel Punkte 20324

Sie können dies mit dem Parameter *trim_mode* für ERB einrichten

Von http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html#method-c-new :

Wenn trim_mode eine Zeichenkette übergeben wird, die einen oder mehrere der folgenden Modifikatoren enthält, passt ERB seine Codegenerierung wie aufgeführt an:

%  enables Ruby code processing for lines beginning with %
<> omit newline for lines starting with <% and ending in %>
>  omit newline for lines ending in %>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X