ここの質問のように、javascript_include_tag
を使って特定のjsファイルを読み込もうとした時に、Production環境だと、/assets/hoge.js
じゃなくて、/javascripts/hoge.js
を指定していた。
解決策
The default matcher for compiling files includes application.js, application.css and all non-JS/CSS files (this will include all image assets automatically) from app/assets folders including your gems:
The Asset Pipeline — Ruby on Rails Guides
どうやら Rails4でassets precompileされるのは、app/assets 以下に入っている、application.js, application.css, .js, .css以外のファイルだそうです。
なので、
config/environments/production.rb
config.assets.precompile += ['hoge.js', 'hoge.css']
みたいな感じで書いておくとassets precompileしてくれます。