我从Java环境转到Rails,对于Rails 3到4中的资产管道(asset pipeline)有一些困惑。
我目前使用的是Rails 4.2.5,在本地环境创建了一个样例应用程序。我在app/assets/javascripts目录下创建了一个新的JavaScript文件,并在视图中引用它,一切在本地环境都运行良好。
之后,我想测试一下在生产环境中的表现。这是我所做的步骤:
- RAILS_ENV=production rake assets:clean assets:precompile [所有文件都会在public/assets下生成]
- 以生产模式启动服务器 rails server -e production
- 现在当我浏览页面时,我得到了这个错误:
"NetworkError: 404 Not Found - http://localhost:3000/assets/application-c5c431cb7c0a202f831a634922aaf1d536712002ae74334fb03ba4698b32b84c.js"
在firebug中。
当搜索了一些线程后,他们建议添加 config.assets.compile = true
。但我不认为这是解决方案,因为它会降低应用程序的速度。
请帮忙解决。