【发布时间】:2016-06-22 18:01:48
【问题描述】:
在我的 application.html.erb 中,我有一个网站布局:
<div class="mobile-menu-navbar hidden-md hidden-lg">
<a id="mobile-menu-link" href="#mobile-menu"><i class="fa fa-bars"></i></a>
</div>
<div class="hidden-xs hidden-sm">
<%= render 'shared/navbar'%>
</div>
<%= yield %>
第一个 div 在 xs 和 sm 屏幕上显示移动菜单,第二个在 md 和 lg 屏幕上显示桌面导航栏。
在它下面,我有应该显示页面内容的 yield 方法。
但是,在我的移动主页上,什么也没有出现。当我在 chrome 的检查器中查找我的主页内容时,它在这个 div 中:
<div class="hidden-xs hidden-sm">
<%= render 'shared/navbar'%>
.......
</div>
这就解释了为什么它在移动设备上是隐藏的。我不明白为什么收益在所有其他移动页面上都能很好地工作(我的所有内容都在任何其他页面上),但在主页上却不行。内容在上面的 div 中移动。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
您是否缺少
shared/navbar中的结束 div 或任何内容? -
@j-dexx 这就是我最初的想法,但似乎并非如此。如您所见,桌面屏幕上的 div 隐藏内容已关闭。更奇怪的是,在除主页之外的每一页上,它都运行良好。我真的很困惑
-
好吧,yield 块只是渲染控制器将其指向的任何内容,所以您确定其他视图没有加载隐藏的 div?
-
请根据您的“主页操作”模板添加尽可能多的内容以帮助我们。
-
@hamitron 好的,你是对的,非常感谢。共享/导航栏 div 缺少结束 div 标记,因此“hidden-xs hidden-sm”的结束标记成为缺少的结束标记。
标签: ruby-on-rails yield