gpt4 book ai didi

ruby-on-rails - 如果 config.assets.compile = false,为什么我的 Rails 应用程序无法在生产环境中运行?

转载 作者:行者123 更新时间:2023-12-01 16:41:55 24 4
gpt4 key购买 nike

我是 Rails 的新手,如果这是一个愚蠢的问题,我深表歉意。我构建了一个 Rails 3.2 应用程序并准备在生产中部署。

我运行了 rake assets:precompile,它花了一段时间并在 public/assets/目录中创建了一些文件。

问题是,当我在生产环境中启动服务器时,它给出了“我们很抱歉”错误,并且我在生产日志中看不到任何新行,尽管它具有适当的权限。

在 nginx/webrick 日志中,唯一出现的是:

cache: [GET /] miss

所以我尝试了一些东西,最后在将 config.assets.compile 设置为 true 后,它起作用了。

我的问题是为什么会这样?是有问题的文件还是预编译任务无法编译的文件?

我以这种方式包含了一个特定的 css 文件(仅适用于 IE):

<!--[if IE ] --><%= stylesheet_link_tag 'ie' %><!-- [endif]-->

这是一个 404 错误。使用 assets/stylesheets/application.css 包含所有其他文件。

最佳答案

问题是您的文件名为 ie (而不是 application )。默认情况下 Rails 只编译 application.jsapplication.css .

通过设置config.assets.compiletrue您启用了准备您的 ie.css 的 Assets 管道回退文件。

包括您的 ie.css将样式表添加到编译过程中,您必须像这样添加它:

config.assets.precompile += %w(ie.css)

关于ruby-on-rails - 如果 config.assets.compile = false,为什么我的 Rails 应用程序无法在生产环境中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9966201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com