当我运行以下命令时,我的任何资产,如图像、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等)