У меня есть приложение для рельсов 3.2 на герою. Я попытался все, что могу найти, чтобы попытаться исправить тот факт, что javascripts не загружаются в режиме производства. Однако все работает отлично. Кроме того, при развертывании в heroku прекомпиляция не выполняется. Однако, когда я смотрю на исходный код в prod, я могу отчетливо видеть файл javascripts (/assets/application-32fdbd115c5d59c7be2876c103063600.js), загружающий и содержащий контент.Консолидация активов не работает над производством, пробовал все, что угодно
Я пробовал каждую настройку, о которой я могу думать и прочесть. Я не совсем уверен, что делать. Вот моя установка в настоящее время в production.rb:
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.compress = false
config.assets.compile = true
config.assets.digest = true
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
и environment.rb:
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
App::Application.initialize!
application.rb:
require File.expand_path('../boot', __FILE__)
require "rails/all"
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module App
class Application < Rails::Application
config.encoding = "utf-8"
# Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters += [:password]
# Enable escaping HTML in JSON.
config.active_support.escape_html_entities_in_json = true
config.active_record.whitelist_attributes = true
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
и мой Gemfile:
gem 'rails', '3.2.6'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'pg'
gem 'mysql2'
gem 'thin'
gem 'activerecord-postgresql-adapter'
gem 'devise'
gem 'paperclip', '~> 3.0'
gem 'haml'
gem 'activeadmin'
gem "meta_search", '>= 1.1.0.pre'
gem 'aws-sdk', '~> 1.3.4'
gem 'acts_as_list'
gem 'stripe'
gem 'sass-rails', '~> 3.2.3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'coffee-rails', '~> 3.2.1'
gem 'twitter-bootstrap-rails'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
group :development do
gem 'debugger'
end
ничего не получается, мне кажется, что он работает в режиме производства на моей локальной машине или на героку. однако он отлично работает в разработке.
Вы пытались перезапустить Heroku? 'heroku restart' –
да, это ничего не сделало –