Heroku 生产不同于本地开发(Rails)

标签 heroku deployment ruby-on-rails-3.2 zurb-foundation production-environment

我是编码和 Rails 新手,我第一次遇到这个问题 - 我的应用程序的本地开发版本与生产版本有不利的不同。

我在 Rails 应用程序上使用 Zurb Foundation 并部署到 Heroku 以在生产中查看它。我面临的问题是在本地,我编写的用于获取导航栏和页面其余部分之间的填充的 CSS 工作正常,但是当我部署到 Heroku 时,CSS 无法正确呈现并且缺少填充。

我用一个名为“fixednavbar”的类的 div 将产量包装在 application.html.erb 中,并编写了以下 css:

.fixednavbar {
padding-top: 60px;
}

我将此 css 放在 Assets 管道(Rails 3.2.13)中的 layouts.css.scss 文件中。 application.html.erb文件中的代码如下:
<div class="row fixednavbar">
   <%= yield %>
</div>

我已经在本地和 github 上检查了代码,以确保它们匹配并且它们匹配。我采取了激进的步骤并启动了一个新存储库,然后删除了本地 git 存储库并启动了一个新存储库并将所有当前文件推送到那里(我在 github 上创建了一个新存储库,以便我以前的所有版本仍在原始存储库中)。

这样做之后,我创建了一个新的 Heroku 应用程序并进行了部署,但生产版本的 CSS 仍然与开发版本不同。

我完全不知道为什么这些版本在代码相同时会有所不同(除非有一些我没有想过要检查的东西潜伏在其他地方)。

非常感谢任何和所有帮助。正如我所说,我对 Rails 很了解(并且大部分是编码),这是我第一次遇到这样的问题。

谢谢!

更新:
我一直在努力解决这个问题。我对应用程序做了其他工作,然后又回到了这个问题。我想让生产版本反射(reflect)正在开发的内容,所以任何帮助都会很棒。

进一步描述这个问题:当 css 尚未解决时,我对 Heroku 的生产部署几乎卡在旧版本的应用程序中。导航栏颜色停留在我将其更改为的第一种颜色上,并且不会更新为新颜色。粘性导航仍然在生产中引起问题,即主体部分隐藏在导航后面。

现在,在运行本地服务器的开发中,我已经解决了所有这些问题。变化反射(reflect)在发展中,一切都如其所愿。

更改后,我提交到 git,然后推送到 github。推送到 github 后,我推送到 Heroku。

github 文件反射(reflect)了更改和代码应有的样子。尽管如此,Heroku 并没有反射(reflect)这一点。老实说,我在这里被难住了,需要一些帮助。

最佳答案

在响应用户的一些帮助下,我能够识别错误并搜索解决方案。我找到了 HERE .

解决方案是查看 production.rb 文件并找到它所说的行

config.assets.compile = false

并将“假”更改为真。
config.assets.compile = true

然后运行
rake assets:precompile RAILS_ENV='production'

部署到 Heroku 后,您可能需要运行
heroku run rake db:migrate

这使部署到 Heroku 后一切正常。

关于Heroku 生产不同于本地开发(Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17332822/

相关文章:

node.js heroku - app/web.1 : Error: no template specified

git,如何返回?

git - 由于 key 未授权,将应用程序部署到 heroku 失败

deployment - 开发流程、部署、GitHub

perl - 有没有像用于 Perl 的 Fabric 之类的东西?

ruby-on-rails - 如何完全自定义 spree View ?

rspec - FactoryGirl 与 has_one 和 Beings_to 关联的问题

ruby-on-rails - 我可以使用 Heroku Piggyback SSL 登录主网站吗?

Azure 应用服务 - 为现有应用服务设置部署槽

jquery - 脚本5 : Access is denied IE09 and IE10