使用 Chrome 浏览器的 "rails s" 命令未在生产环境中显示资产



当我运行以下命令时,我的任何资产,如图像、javascript和样式特性都不会显示:

RAILS_ENV=production rails s

然后我转到http://localhost:3000,应用程序出现了,但根本没有样式。

我确实预编译了资产:

➜  myapp git:(master) ✗ bundle exec rake assets:precompile --trace
 Invoke assets:precompile (first_time)
 Execute assets:precompile
 /Users/me/.rvm/rubies/ruby-1.9.3-p545/bin/ruby /Users/me/.rvm/gems/ruby-1.9.3-p545@myapp/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
 Invoke assets:precompile:all (first_time)
 Execute assets:precompile:all
 Invoke assets:precompile:primary (first_time)
 Invoke assets:environment (first_time)
 Execute assets:environment
 Invoke environment (first_time)
 Execute environment
 Invoke tmp:cache:clear (first_time)
 Execute tmp:cache:clear
 Execute assets:precompile:primary
 Invoke assets:precompile:nondigest (first_time)
 Invoke assets:environment (first_time)
 Execute assets:environment
 Invoke environment (first_time)
 Execute environment
 Invoke tmp:cache:clear (first_time)
 Execute tmp:cache:clear
 Execute assets:precompile:nondigest

这在Safari中工作得很好,不知道为什么Chrome不会加载这些东西。我还清除了浏览器缓存。

config/environments/production.rb中,确保您的应用程序配置为提供静态资产:

config.serve_static_assets = true

默认情况下,Rails假设您的静态资产将在其他地方提供服务(例如Apache、Nginx等)

相关内容

  • 没有找到相关文章

最新更新