Ruby on rails 漂亮的生成器布局帮助器问题

Ruby on rails 漂亮的生成器布局帮助器问题,ruby-on-rails,Ruby On Rails,在我的第一个Rails项目中,我使用Ryan Bates的漂亮生成器创建初始应用程序文件。这给了我一个带有title方法的LayoutHelper: def title(page_title, show_title = true) @content_for_title = page_title.to_s @show_title = show_title end 在我的主页视图中,我有一个简单的标题: <%= title "Welcome" -%> 我看到的是我的标题“We

在我的第一个Rails项目中,我使用Ryan Bates的漂亮生成器创建初始应用程序文件。这给了我一个带有title方法的
LayoutHelper

def title(page_title, show_title = true)
  @content_for_title = page_title.to_s
  @show_title = show_title
end
在我的主页视图中,我有一个简单的标题:

<%= title "Welcome" -%>
我看到的是我的标题“Welcome”,后面是为
show\u title
传递(或默认为)的值。我想要前者,但不要后者。我理解该方法隐式返回布尔值的原因,但我没想到会显示它。布尔显示似乎是主要内容的一部分
yield

yield
命令还没有真正为我点击(我明白了,我就是不明白,如果这有道理的话),所以我希望有人能帮助我理解为什么要打印布尔值,以及如何让它停止。这个答案可以帮助我更好地理解除了解决眼前的问题之外,
yield
是如何工作的

谢谢。

试试这个:

<% title "Welcome" %>


您希望调用
title
方法,而不是在调用时写出其返回值。

实际上,我有点困惑,当您没有在任何地方调用
content\u,而是在设置实例变量时,模板为什么要调用
yield(:title)
。也许我还不太了解收益率是如何运作的。希望贝茨先生自己能在这一点上提供帮助:)我对Ruby的了解仍然处于尴尬的“了解你”阶段,但LayouthHelper中的title方法为@content\u设置了title的值。这不是适当地填充了产量输出,还是我还缺少了其他东西?
<% title "Welcome" %>