【发布时间】:2013-06-19 11:28:20
【问题描述】:
我正在使用 content_for 帮助器,例如在我的 rails 3 应用程序中设置页面标题。我在某些地方仍在使用的一个 erb 的 sn-p 是
<title><%= yield(:title) -></title>
或者用 HAML 写成
%title= yield(:title)
现在我有一个 HAML 模板来设置这个标题:
- content_for :title do
My awesome title
- content_for :something_else do
导致
<title>My awesome title
</title>
如何避免</title> 之前的换行符?它肯定是在:title 中设置的——添加+"X" 会将X 放在换行符后面。
我已经试过了
-< content_for :title do
-> content_for :title do
但是任何一个都会导致错误。空格删除似乎不适用于 ruby 评估。
【问题讨论】:
-
为什么不干脆做:
%title= content_for?(:title) ? "#{yield(:title)}" : "Default Title" -
这与默认标题无关——我也有。问题是即使在这里,
yield(:title)也包含尾随换行符。 -
有趣...我运行 Rails 3.2 的两个应用程序都使用了我在上面发布的 sn-p,它可以按您的意愿工作。
-
例如,我的“主页”HAML 文件的第 1 行是:
= content_for(:title, "Welcome to my home page!") -
那是失去的和平!非常感谢。我是使用 HAML 的新手(但喜欢它!)而且我缺少一些基础知识。如果你写一个答案,你会得到荣誉:-)
标签: ruby-on-rails-3 haml