После обновления до Rails 4 public/assets/manifest.yml больше не генерируется. Вместо этого присутствует другой отформатированный манифест (отпечаток пальца) .json. Но мне кажется, что сервер все еще ищет старый формат manifest.yml, игнорируя версию .json?Rails 4, Heroku не распознает прекомпилированный манифест (отпечаток пальца) .json
Я вижу другие вопросы, основанные на аналогичных проблемах, но они, похоже, опрокидываются путем обновления до Rails 4, добавляя rails_12factor в gem-файл, устанавливая serve_static_assets = true и т. Д., Но ни одно из этих решений, похоже, не имеет никакого эффекта в мой сценарий.
Я устал и не страдал из-за этой досадной проблемы, любая помощь будет оценена!
Logfile от 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
Я использую Угловое и их UI-маршрутизатор, и это часть my routes.js.coffee, где связан файл test.html:
.state "root",
url: "/"
views:
"root":
controller: "ApplicationController"
templateUrl: "/assets/layouts/test/test.html"
Я также попытался предварительно скомпилировать локально, но поскольку я использую Rails 4 здесь, я все равно не создал manifest.yml, а только версию .json. Конечно, все работает просто отлично в развитии ...
Так мой фактический cuestion: Как мне сделать Heroku распознавать и использовать manifest- (отпечатков пальцев) .json -file или альтернативные способы сделать эта работа?
Теперь я нашел полезное обходное решение здесь: [нет совпадений маршрутов для активов/изображений в Rails] (http://stackoverflow.com/a/11128672/2597056). Переименовал route.js.coffee в routes.js.coffe.erb и связал файл как 'templateUrl:" <% = asset_path ('layouts/test/test.html')%> "'. Теперь мне просто нужно будет изменить каждую ссылку на файл в таком виде. На самом деле, я думал, что это именно то, что должен был сделать файл манифеста для меня? – RastacraZ