Ruby on rails RubyonRails-仅当?(:partial)的内容为true时才将类添加到正文中

Ruby on rails RubyonRails-仅当?(:partial)的内容为true时才将类添加到正文中,ruby-on-rails,ruby,haml,Ruby On Rails,Ruby,Haml,我的application.html.haml文件中有一个:sticky_footer区域: = yield :sticky_footer 如果粘性页脚区域中有内容,我想在body节点中添加一个has sticky footer类 我试着做: body{class: content_for?(:sticky_footer) ? "has-sticky-footer" : "no-sticky-footer"} 然而,即使稍后在代码中定义了的内容,这似乎也是错误的 我还有其他选择吗 然而,即使

我的application.html.haml文件中有一个
:sticky_footer
区域:

= yield :sticky_footer
如果粘性页脚区域中有内容,我想在body节点中添加一个
has sticky footer

我试着做:

body{class: content_for?(:sticky_footer) ? "has-sticky-footer" : "no-sticky-footer"}
然而,即使稍后在代码中定义了的内容,这似乎也是错误的

我还有其他选择吗

然而,即使内容为,这似乎也是错误的 稍后在代码中定义

对。测试时?的内容尚未定义,因此该值为false

先做定义。。。在身体线之前

-content_for :sticky_footer do
  # define the content here
然后插入主体的类

在代码的后面部分,您可以为

=content_for :sticky_footer
# or
=yield :sticky_footer
然而,即使内容为,这似乎也是错误的 稍后在代码中定义

对。测试时?的内容尚未定义,因此该值为false

先做定义。。。在身体线之前

-content_for :sticky_footer do
  # define the content here
然后插入主体的类

在代码的后面部分,您可以为

=content_for :sticky_footer
# or
=yield :sticky_footer

谢谢,不过我想把(:sticky_footer)的:content_放在视图中使用它的地方,它们的内容放在body标签的上方,还有其他想法吗?只是说清楚,使用它的地方和定义它的地方不必是同一个地方。可以在body标记上方定义,可以在任何地方使用(只要在定义位置之前)。在测试
content\u for?
谢谢之前,必须先定义它,但是我想把:content\u for(:sticky\u footer)放在使用它的视图的内部,它们的内容放在body标签的上方,还有其他想法吗?只是要清楚,它的使用位置和定义位置不必是同一个位置。可以在body标记上方定义,可以在任何地方使用(只要在定义位置之前)。在测试内容之前,必须先定义它。