Hier ist die App/Assets/für eine Rails 4.2 App.Rails 4 - NO manifest.json nach Anlagen vorkompilieren auf Produktionsserver
Es gibt 3 Schopf aus dem Sumpf js und CSS-Dateien. Nach der Bereitstellung der Produktion (ubuntu 12,1), wurde auf dem Server durchgeführt Vermögenswerte precompile (unter suburi eingesetzt):
RAILS_ENV=production bundle exec rake assets:precompile RAILS_RELATIVE_URL_ROOT=/mysuburi
Hier die production.rb
ist:
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_files = false #ENV['RAILS_SERVE_STATIC_FILES'].present?
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.assets.compile = false
config.assets.digest = true
config.log_level = :debug
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false
Hier ist der Kopf application.css.scss
:
@import "bootstrap.min.css";
@import "bootstrap-theme.min.css";
@import "simple_form.css.scss";
@import "user_menus.css.scss";
In application.js
, es hat:
//= require bootstrap.min
Hier ist die Ausgabe von ls
für öffentlich/assets ist/auf Produktionsserver:
application-05cf37813d76c2bd659271403789374cc118f1a4e616ec220969577b79ff6514.css
application-375b4b5d8fc285716f4fdca966aa960912efe8292242df8f1a60b99d5caa4b02.js
authentify
banquet_coursex
banquetx
biz_workflowx
commonx
glyphicons-halflings-regular-5d234508037dc13a419ef6ce48f3fc73dbb477f1a162c052b872182b494e626e.svg
glyphicons-halflings-regular-bd18efd3efd70fec8ad09611a20cdbf99440b2c1d40085c29be036f891d65358.ttf
glyphicons-halflings-regular-f495f34e4f177cf0115af995bbbfeb3fcabc88502876e76fc51a4ab439bc8431.eot
glyphicons-halflings-regular-fc969dc1c6ff531abcf368089dcbaf5775133b0626ff56b52301a059fc0f9e1e.woff
jquery-ui
searchx
state_machine_logx
user_manualx
user_menus-7c46e17f4172c2a954eeaf85e80b4e030d1ed0fb3927288bbe07eeb4fb8cbfc5.css
Durch die Zusammenarbeit mit anderer Rails-Anwendung zu vergleichen, ist es manifest.json
unter/Vermögen fehlt. Wir haben verschiedene Konfigurationsoptionen in config/environment/production.rb
ohne Erfolg versucht. Die einzige Option, die auf dem Produktionsserver funktioniert, ist die Live-Kompilierung von config.assets.compile = true
(nicht empfohlen). Was ist falsch an unserem Code, damit die Vorkompilierung von Assets fehlschlägt?
AKTUALISIERUNG: Wir haben die Rails-App von Grund auf neu aufgebaut und das Problem mit den Assets bleibt gleich. Dieses Asset-Vorkompilierungsproblem hat möglicherweise nichts mit der Einrichtung in config/production.rb' and 'config/initializers/aseets.rb
zu tun, wie wir vermuten. Rollback Version von bundler
und rake
hat nicht geholfen. Dieselben Bootstrap-CSS- und JS-Dateien wurden in einer anderen Rails 4.2-App verwendet, die auf demselben Produktionsserver ohne das Problem ausgeführt wurde.
Wir müssen das nicht tun 'config.assets.precompile + = [ 'Bootstrap. min.js ',' b ... 'für Assets in Side App/Assets. Dies ist nur für externe Vermögenswerte erforderlich, sofern sie nicht im Manifest angegeben sind. –
'@ maximus', ja, ohne die css- oder js-Datei, die explizit in' assets.rb' enthalten ist, was wir für eine andere Rails 4.2-App getan haben, die genau dieselben CSS- und Bootstrap-Assets hat. Aber nicht mit dieser App. Wenn diese Bootstraps js/css nicht enthalten sind, werden sie nach dem Vorkompilieren der Assets überhaupt nicht erfasst. – user938363
haben Sie diese Frage http: // stackoverflow überprüft.com/fragen/21519040/rails-4-bootstrap-set-up-assets –