Rails 4 にアップグレードした後、public/assets/manifest.yml は生成されなくなりました。代わりに、異なる形式の manifest-(fingerprint).json が存在します。しかし、サーバーはまだ古いmanifest.yml形式を探していて、.jsonバージョンを無視しているように思えますか?
同様の問題に基づいて他の質問が表示されますが、Rails 4 へのアップグレード、gem ファイルへの rails_12factor の追加、serve_static_assets = true の設定などによって解決されるようですが、これらの解決策はどれも私のシナリオでは効果がないようです。
この厄介な問題のために、私は疲れていてやる気がありません。
Heroku からのログファイル:
ActionController::RoutingError (No route matches [GET] "/assets/layouts/test/test.html"):
Gemfile:
ruby '2.0.0'
gem 'rails', '4.0.0'
...
gem "compass-rails", github: "milgner/compass-rails", ref: "1749c06f15dc4b058427e7969810457213647fb8"
...
gem 'rails_12factor', group: :production
production.rb
RailsFoundationAngular::Application.configure do
config.assets.initialize_on_precompile = false
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.action_dispatch.x_sendfile_header = nil
end
私は Angular とその ui-router を使用しています。これは、test.html がリンクされている routes.js.coffee の一部です。
.state "root",
url: "/"
views:
"root":
controller: "ApplicationController"
templateUrl: "/assets/layouts/test/test.html"
ローカルでプリコンパイルも試みましたが、ここでも Rails 4 を使用しているため、まだ manifest.yml は作成されず、.json バージョンのみが作成されます。もちろん、開発中はすべてが完璧に機能しています...
したがって、私の実際の質問: Heroku に manifest-(fingerprint).json ファイルを認識させて使用させる方法、またはこれを機能させる別の方法を教えてください。