目前前端大部分库使用 bower 安装,在/vendor/assets/bower_components/中 在开发模式下是能够正常访问的,但是在 production 模式下这些 资源都访问不到,这是什么情况. 有执行预编译
it’s 2016 now, no one uses Bower anymore.
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f
需要把需要单独引用的静态资源加到配置中:
config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']
http://guides.ruby-china.org/asset_pipeline.html#%E4%BA%8B%E5%85%88%E7%BC%96%E8%AF%91%E5%A5%BD%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90
恩,原因是 rails 在 production 模式下,不能处理 public 的文件,云
#2 楼 @lilijreey 有个配置的,true 就是交给 rails 处理,false 就是需要 nginx 处理了。
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
#3 楼 @bastengao 感谢 :)