这是我的sinatra代码:
get '/' do
foo = 'not bar'
erb :index
end
我的layout.erb
<html>
<head></head>
<body>
<%= yield %>
</body>
</html>
我的index.erb
<div class="container">
</div>
现在的问题是
额外的文字(以黄色点亮)扰乱了我的设计 知道为什么会这样吗? 如果我不使用布局并且仅使用带有所有html代码的index.erb
,则不会发生这种情况[编辑:] 使用&lt;%= yield - %&gt;抛出错误(意外的tUMINUS,期待kEND; @ _out_buf.concat“”; - yield - ; @ _out_buf.concat“\ n”).... layout.rb
答案 0 :(得分:4)
我最好的猜测是来自layout.erb中的软标签的4个空格
<body>
____<%= yield %>
</body>
试试<body><%= yield%></body>
?
我一直在使用Slim 和
body
= yield
永远不会让我失去空白
讨厌ERB
答案 1 :(得分:3)
您可以使用* trim_mode *参数设置ERB
来自http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html#method-c-new:
如果trim_mode传递一个包含一个或多个以下修饰符的String,ERB将调整其列出的代码生成:
% enables Ruby code processing for lines beginning with %
<> omit newline for lines starting with <% and ending in %>
> omit newline for lines ending in %>