【问题标题】:Rails layout not rendering properly? [closed]Rails 布局无法正确渲染? [关闭]
【发布时间】:2014-06-30 12:49:20
【问题描述】:

最近我从另一个开发人员那里接了一个 Rails 项目。

当我在我的 Mac 上启动 Rails 服务器时,布局没有正常呈现:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
<body>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>My title</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<link href="/assets/store/reset.css?body=1" media="screen" rel="stylesheet" type="text/css" />
...

&lt;head&gt; 标签过早关闭,紧随其后的是 body 标签,这使得所有&lt;meta&gt; 标签和样式表都在头部之外。

但是,当我的一位同事在他的 PC 上启动服务器时,布局会正确呈现。


这是我的布局之一:

<!doctype html>
<html>
<head>
  <%= render 'spree/shared/head' %>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
</head>

<body>  
  <div id="container">
    <%= render 'spree/shared/header' %>

    <div id="main" role="main" class="clearfix">
      <aside id="sidebar" role="complementary" data-hook> 
        <%= render 'spree/shared/menu_left' %>
      </aside>

      <div id="content">
        <%= yield %>
      </div>
    </div>

    <%= render 'spree/shared/footer' %>
  </div> <!--! end of #container -->
</body>
</html>

【问题讨论】:

  • 向我们展示一些代码。你确定你运行的是相同的代码吗?
  • 是的,我们使用相同的代码
  • 您使用不同的浏览器吗?把应该放在头上的东西放在头上。
  • 正如你在我的布局中看到的那样,一切都应该在头脑中。这不是客户端问题,因为如果我访问他的服务器,它会正确呈现,而当他访问我的服务器时,它不会
  • @GuiGreg render 'spree/shared/header' 中可能存在语法错误 - 检查该文件。不同的浏览器呈现方式不同。您没有指定哪些浏览器有问题。这可能与 ruby​​ 无关。

标签: html ruby-on-rails ruby layout ruby-on-rails-4


【解决方案1】:

我找到了!该错误是由 Spree 布局和 Nokogiri 的奇怪行为造成的。 这是解决方案:https://github.com/spree/spree/issues/2633

在我的 Gemfile 中,我将 nokogiri 版本设置为 1.5.9,如下所示:

gem 'nokogiri', '1.5.9'

【讨论】:

  • 很好,看起来这个问题比我发现的问题记录得更好。或者至少有更多的讨论。
【解决方案2】:

这显然是一个已知问题,记录在 here。在那个帖子中,Ryan Bigg 说:

我认为这是在旧版本中使用 Nokogiri 的问题 的 libxml。你能确保你使用绝对 libxml 的最新稳定版本?

尝试更新您的libxml 版本,看看是否会有所不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2013-07-24
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多