【问题标题】:Rails Production server stylesheet not loadingRails 生产服务器样式表未加载
【发布时间】:2014-01-12 02:25:46
【问题描述】:

我正在使用具有 nginx 和 unicorn 的数字海洋 ruby​​ on rails 图像。我捆绑了我的项目bundle install,然后做了service unicorn restart,但它似乎没有加载。不久前我遇到了这个问题并使用bundle exec ... 解决了它,但我不记得完整的命令。我看到了一些与此类似的问题,并尝试了bundle exec rake assets:precompile 以及编辑 production.rb (Why "rails server -e production" makes it "No route matches "/" and stylesheet not loading?) 文件,但它不起作用。我正在寻找通过命令而不是通过代码执行此操作的解决方案。

编辑:bundle exec rake assets:precompile 确实有效!问题是我创建了一个名为 main.css 的额外 css 文件,它没有导入,但其他一切正常!

【问题讨论】:

    标签: ruby-on-rails nginx unicorn


    【解决方案1】:

    使用RAILS_ENV=production rake assets:precompileRAILS_ENV=production 指定运行 rake 任务的环境。

    【讨论】:

    • 我更新了原帖。你能检查一下吗?环境也在独角兽配置文件​​中设置。目前是UNICORN_OPTS="-D -c $CONFIG_RB -E production"
    • 这取决于您如何配置资产管道。如果您手动编译它,那么每次修改样式时都需要运行此命令。为了为适当的环境手动生成样式,您应该在RAILS_ENV 常量中传递环境。如果您将其配置为在加载时自动编译,那么您根本不需要运行任何命令。
    • 我终于找到了问题所在。 bundle exec rake assets:precompile 确实有效,但我不小心对我的网站进行了糟糕的编码。发生的事情是我创建了一个名为 nahtnam.css 的文件,其中包含我所有的 css。基本上我有引导程序,我需要一个在 bootstrap.css 文件之后加载的文件,该文件将覆盖一些引导程序组件。一旦将所有内容编译到一个文件中,它就会停止正常工作。直到现在我才意识到这一点,所以我不知道该怎么办。我无法在 application.css 中加载它,因为那是在 bootstrap.css 之前。
    • 您可以按照您想要的顺序在application.css 中要求您的样式表。在此处阅读更多信息guides.rubyonrails.org/asset_pipeline.html#asset-organization
    • 我想通了。我刚刚将字体文件夹移动到公用文件夹。这使得css开始正常工作。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2019-12-11
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多