Ich verwende Ruby 2.0.0-p247
und Rails 4.0.0
Dateien von Asset hergestellt: precompile nicht urls von stylesheet_link_tag (fehlende Digest) in minimal Schienen 4 Website
erzeugt passen, wenn ich eine minimale Rails 4 Seite wie diese machen:
rails new minimal
cd minimal
rails generate controller home index
tee config/routes.rb <<EOF
Minimal::Application.routes.draw do
root 'home#index'
end
EOF
vorkompilieren dann die Vermögenswerte mit
rake assets:precompile
Es erzeugt Vermögenswerte wie:
I, [2013-09-04T17:05:36.992951 #3549] INFO -- : Writing /WORKINGDIR/minimal/public/assets/application-723d1be6cc741a3aabb1cec24276d681.js
I, [2013-09-04T17:05:37.052303 #3549] INFO -- : Writing /WORKINGDIR/minimal/public/assets/application-f1a14051f17824976271b9c0460232f0.css
Aber wenn ich den Server im Produktionsmodus zu starten, mit
RAILS_ENV=production rails s
Die generierten URLs im HTML-Punkt nicht an den vorkompilierte Dateien:
<link data-turbolinks-track="true" href="/stylesheets/application.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/javascripts/application.js"></script>
Ich würde erwarten, eher :
<link data-turbolinks-track="true" href="assets/application-f1a14051f17824976271b9c0460232f0.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-723d1be6cc741a3aabb1cec24276d681.js"></script>
Der Standard config/environments/production.rb
Einstellungen sagen Verdauansätzen zu verwenden:
config.assets.digest = true
Aber es scheint selektiv ignoriert zu werden?
Fehle ich etwas?
UPDATE:
Getestet habe ich diese nur in Rails 4.2.3 und dies scheint festgelegt werden, jedoch müssen wir noch ein paar Umgebungsvariablen in den rails s
Befehl zur Hand im Produktionsmodus starten:
SECRET_KEY_BASE=$(rake secret) RAILS_SERVE_STATIC_FILES=true RAILS_ENV=production rails s
ich in der Regel RAILS_ENV = Produktion eingestellt. Dies scheint eine Regression von 3.2.x zu sein :( –
'config.assets.compile = true 'wird Performance-Probleme in der Produktion haben, denke ich – Johann
@Johann, wenn du noch" Rake-Assets: precompile "tust, wenn du die Live-Neukompilierung einsetzt (wie wenn' config.assets.compile' '' false' wäre) Code sollte nie wirklich getroffen werden (da er immer die vorkompilierten Versionen sehen und sie bedienen wird). – pix