Erb 视图中不需要的空白
这是我的 sinatra 代码:
get '/' do
foo = 'not bar'
erb :index
end
我的layout.erb
<html>
<head></head>
<body>
<%= yield %>
</body>
</html>
我的index.erb
<div class="container">
</div>
现在的问题是
额外的文本(以黄色突出显示)扰乱了我的设计 知道为什么会发生这种情况吗? 如果我不使用布局并仅将 index.erb 与所有 html 代码一起使用,则不会发生这种情况
[编辑:] 使用<%=收率-%>在 ....layout.rb 中抛出错误(意外的 tUMINUS,期望 kEND ; @_out_buf.concat " "; - Yield -; @_out_buf.concat "\n" )
Here's my sinatra code:
get '/' do
foo = 'not bar'
erb :index
end
My layout.erb
<html>
<head></head>
<body>
<%= yield %>
</body>
</html>
My index.erb
<div class="container">
</div>
now the problem is
The extra text (hilighted with yellow) disturbs my design
Any idea why this is happening?
this dosn't happen if I dont use layout and use only index.erb with all html code
[Edit:]
Use of <%= yield -%> throws error (unexpected tUMINUS, expecting kEND ; @_out_buf.concat " "; - yield -; @_out_buf.concat "\n" ) in .... layout.rb
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 ERB 的 *trim_mode* 参数进行设置
http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html#method-c-new:
如果trim_mode传递一个包含以下一个或多个修饰符的字符串,ERB 将按列出的方式调整其代码生成:
You can set this up with *trim_mode* parameter for ERB
From http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html#method-c-new :
If trim_mode is passed a String containing one or more of the following modifiers, ERB will adjust its code generation as listed:
我最好的猜测是 4 个空格来自布局中的软选项卡。erb
尝试
<%= Yield%>
?我已经使用 Slim 很长时间了
空格永远
不会让我失望,
讨厌 ERB
my best guess is the 4 spaces come from the soft tabs in your layout.erb
try
<body><%= yield%></body>
?I've been using Slim a long while
and
never fails me whitespace
hate ERB