Sind sowohl secret_key_base als auch secret_token für die Produktion in Rails 4.2 erforderlich? Einstellung weder verursacht die folgende Ausnahmemeldung:Verwendet Rails 4.2 secret_token?
secret_token
undsecret_key_base
für 'Produktion' Umgebung fehlt, setzen diese Werte inconfig/secrets.yml
Das 4.2 Upgrade-Anleitung (http://railsapps.github.io/updating-rails.html) sagt dazu:
Wenn Sie eine neue Rails-Anwendung mit dem Befehl rails new erstellen, wird ein eindeutiger geheimer Schlüssel generiert und in dengeschriebenDatei config/initializers/secret_token.rb.
Aber keine solche Datei erstellt wurde, wenn ich meine app erzeugt, und es gibt keinen Hinweis in config secret_token/secrets.yml
Ich gehe davon aus, dass die Fehlermeldung falsch ist, und dass nur secret_key_base wird gebraucht. Wenn ich meine App in der Produktion auf meinem Dev-Rechner starte, startet sie nur mit secret_key_base, aber in Engineyard funktioniert die Einstellung von secret_key_base (über eine Umgebungsvariable) nicht. Ich bekomme immer noch den Fehler.
Auch dies kann einige Ihrer Fragen zu secret_token vs. secret_key_base beantworten: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#action-pack –
Vielen Dank für die schnelle Antwort. Ich habe auch keine secret_token.rb-Datei erhalten, als ich die App erstellt habe (daher nehme ich an, dass sie nicht mehr verwendet wird), und meine automatisch generierte Datei secrets.yml sieht genauso aus wie die, die Sie hier gepostet haben. Wenn ich ENV ["SECRET_KEY_BASE"] nicht standardmäßig unterstütze, kann ich den Edelstein dotenv verwenden, anstatt ihn in die Datei zu schreiben? –
Das Juwel von Dotenv funktioniert auf unserer Plattform nicht, da wir über eigene Wrapper-Skripts verfügen, mit denen Umgebungsvariablen vor der Ausführung des Anwendungsservers (z. B. Unicorn) festgelegt werden. Während es in der Entwicklung auf Ihrem lokalen Rechner in der Produktion funktioniert, müssen Sie/data/ /shared/config/env.custom ändern, was eine Datei ist, die vom benutzerdefinierten Chef geändert werden sollte, da alle Dateien behandelt werden sollten als Disposable und Config Management gilt als eine beste/erforderliche Praxis. –