gpt4 book ai didi

ruby-on-rails - rails 3.1.3 : trying to run locally in production, Assets 管道不工作

转载 作者:行者123 更新时间:2023-12-03 09:21:28 26 4
gpt4 key购买 nike

我的应用程序在开发模式下运行良好。

当我使用 RAILS_ENV=production rails s 在生产模式下运行时我的 .css 或 .js 文件都没有加载。 (我使用 RAILS_ENV=production bundle exec rake assets:precompile 预编译 Assets 。)

webrick 日志显示:

ActionController::RoutingError(没有路由匹配 [GET] “/assets/application-a73ce43be7bf75953cd0c60b2b4a7eb0.js”):



ActionController::RoutingError(没有路由匹配 [GET] "/assets/application-986dd79830088c416c1632c12999ec69.css"):

文件已编译(根据 log\production.log 文件),我的 public/assets 目录确实显示了带有和不带有指纹的文件:

ls public/assets
application-986dd79830088c416c1632c12999ec69.css
application-986dd79830088c416c1632c12999ec69.css.gz
application-a73ce43be7bf75953cd0c60b2b4a7eb0.js
application-a73ce43be7bf75953cd0c60b2b4a7eb0.js.gz
application.css
application.css.gz
application.js
application.js.gz

最佳答案

默认情况下,Rails 在生产模式下不提供静态 Assets 。如果您想禁用此功能并提供静态 Assets ,请更新​​您的 config/environments/production.rb文件与此:

config.serve_static_assets = true

Rails 的默认配置背后的原因是它假设您将在生产模式(Apache、Nginx 等)下在标准 Web 服务器后面运行,然后将请求代理到您的 Rails 应用程序。由于 Assets 是预编译的,Apache/Nginx/etc.可以直接为它们服务,而无需与您的 Rails 进程交谈。

关于ruby-on-rails - rails 3.1.3 : trying to run locally in production, Assets 管道不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098743/

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