【问题标题】:Rails "yield" not appearing on mobile devicesRails “yield”没有出现在移动设备上
【发布时间】: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


【解决方案1】:

正如 cmets 中所说,共享/导航栏 div 缺少结束 div 标记,因此“hidden-xs hidden-sm”的结束标记成为缺少的结束标记,并且隐藏了内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多