【发布时间】:2013-06-24 08:16:40
【问题描述】:
我是编码和 Rails 的新手,我第一次遇到这个问题 - 我的应用程序的本地开发版本与生产版本存在不利的差异。
我在我的 Rails 应用程序上使用 Zurb Foundation,并部署到 Heroku 以在生产中查看它。我面临的问题是,在本地,我编写的 CSS 是为了在导航栏和页面的其余部分之间进行填充工作正常,但是当我部署到 Heroku 时,CSS 无法正确呈现并且缺少填充。
我用一个名为“fixednavbar”的类的 div 将 yield 包裹在 application.html.erb 中,并编写了以下 css:
.fixednavbar {
padding-top: 60px;
}
我将此 css 放在资产管道 (Rails 3.2.13) 中的 layouts.css.scss 文件中。 application.html.erb文件中的代码如下:
<div class="row fixednavbar">
<%= yield %>
</div>
我已经检查了本地和 github 上的代码,以确保它们匹配并且确实如此。我采取了激进的步骤并启动了一个新存储库,然后删除了本地 git 存储库并启动了一个新存储库并将所有当前文件推送到那里(我在 github 上创建了一个新存储库,以便我以前的所有版本仍然在原始存储库中)。
完成此操作后,我创建了一个新的 Heroku 应用并进行了部署,但生产版本仍然无法将 CSS 呈现与开发版本相同。
我完全不知道为什么当代码相同时这些版本会有所不同(除非在其他地方潜伏着一些我没想过要检查的东西)。
非常感谢任何和所有的帮助。正如我所说,我对 Rails 很了解(并且大部分时间都在编码),这是我第一次遇到这样的问题。
谢谢!
更新: 我一直在尝试解决这个问题。我在应用程序上做了其他工作,然后回到这个问题。我想获得生产版本以反映正在开发的内容,所以任何帮助都会令人惊叹。
进一步描述该问题:当 CSS 尚未解决时,我对 Heroku 的生产部署几乎就卡在了旧版本的应用程序中。导航栏颜色停留在我将其更改为的第一种颜色上,并且不会更新为新颜色。粘性导航仍然会在生产中导致身体部分隐藏在导航后面的问题。
现在,在运行本地服务器的开发中,我已经解决了所有这些问题。这些变化反映在开发中,一切都如预期的那样。
更改后,我提交到 git,然后我推送到 github。推送到 github 后,我推送到 Heroku。
github 文件反映了更改,并且代码是应有的。尽管如此,Heroku 并没有反映这一点。老实说,我在这里被难住了,需要一些帮助。
【问题讨论】:
-
首先,它可能不是 Heroku - 它可能是一个“生产”环境问题。通过在生产模式下运行本地应用程序来隔离这一点。
-
嗨,约翰,感谢您的回复。我刚刚在本地启动服务器,应用程序没有加载任何 css 文件。我在浏览器中查看了源代码并将该源代码与在开发中运行它进行了比较,生产版本没有找到任何 css 文件。我对这一切都不熟悉......我应该从哪里找到问题?
-
更新:看到本地也无法制作,我搜索并找到了这个帖子HERE。我遵循那里的建议并让生产版本在本地正常工作。我不会推送到 heroku 看看这是否能解决问题。
-
tbh,我在 Heroku 上的资产管道没有问题,但这可能也有帮助,因为它是 Heroku 特定的指导方针devcenter.heroku.com/articles/rails-asset-pipeline
标签: heroku deployment ruby-on-rails-3.2 zurb-foundation production-environment