yield_content的多余输出

时间:2012-09-19 17:31:09

标签: ruby sinatra erb

当我使用yield_content时,我在页面中看到了奇怪的输出。请看下面。 请注意[#<Proc:0x850a14c@/home/akonsu/project/index.erb:1>]部分。这是什么?

layout.erb:

<!DOCTYPE html>
<html>
  <head>
    <%= yield_content :head %>
  </head>
  <body>
    <%= yield %>
  </body>
</html>
index.erb:
<% content_for :head do %>
  <script type="text/javascript" src="/js/jquery.js"></script>
<% end %>
<div id="contents">
...
</div>
输出:
<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript" src="/js/jquery.js"></script>
[#<Proc:0x850a14c@/home/akonsu/project/index.erb:1>]
  </head>
  <body>

<div id="contents"> ... </div> </body> </html>

1 个答案:

答案 0 :(得分:0)

这是因为<%=。在ruby 1.9中,它应该使用<%代替。

<% yield_content :head %>