【问题标题】:How to edit rails app in production env, specifically CSS如何在生产环境中编辑 Rails 应用程序,特别是 CSS
【发布时间】:2014-05-21 23:25:02
【问题描述】:

我尝试编辑在生产模式下工作的 CSS,但在进行了一些更改后,字体没有加载。我对我的 git 进行了硬重置并回滚到预览提交。我想知道在生产中编辑网站的最佳方式是什么。每次更改 CSS 时都必须预编译资产吗?我这样做了,最终遇到了很多问题。我还尝试删除 public/assets 文件夹,然后删除 assets:precompile 但没有任何效果。

【问题讨论】:

  • 如何发布/部署到生产环境?还有哪个 Rails 版本?
  • Rails 4,我在 Nitrous.IO 上使用一个盒子

标签: css ruby-on-rails ruby-on-rails-4 asset-pipeline production-environment


【解决方案1】:

在编辑 CSS 后的生产环境中,需要对资产进行预编译。运行以下命令来预编译资产

RAILS_ENV=production bundle exec rake assets:precompile

请参考以下链接了解更多信息 http://edgeguides.rubyonrails.org/asset_pipeline.html#in-production

【讨论】:

  • 每次我编辑它们?公共文件夹中的旧资产呢?会被覆盖吗?我做了bundle exec rake assets:precompile 没有RAILS_ENV=production 有什么不同吗?
【解决方案2】:

由于您已经在生产环境中运行 Rails 应用程序,因此您需要运行

RAILS_ENV=production bundle exec rake assets:precompile

不要忘记使用 RAILS_ENV=production。预编译后旧资产将被新资产替换

您可能还需要编辑 config/environments/production.rb 文件并进行如下修改

config.serve_static_assets = true

config.assets.compress = false

config.assets.compile = true

【讨论】:

  • 补充说明:虽然旧资产在使用中会被替换,但它们仍然存在于公共资产文件夹中。我建议还进行清理:RAILS_ENV=production bundle exec rake assets:clean
猜你喜欢
  • 1970-01-01
  • 2013-03-06
  • 1970-01-01
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
相关资源
最近更新 更多