Ruby on Rails: Session über die Datenbank ohne Fehler

Februar 12th, 2009 | Tags: , , , , , ,
Anzeige

top_ruby_sessionIn meinen unzähligen Stunden, und meiner hohen Erfahrung mit Ruby on Rails1 ist mir dabei ein Fehler aufgefallen2

Aktiviert3 man in der config/enviroment.rb, dass man Sessions in der Datenbank speichern möchte ergibt sich da ein Problem.

Zunächst einmal das Auskommentieren, in der config/envirement.rb:

# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
# (create the session table with "rake db:sessions:create")
  config.action_controller.session_store = :active_record_store

Danach legt man die Datenbank-migration an:

$ rake db:session:create
$ rake db:migrate

Nun noch den Server neu starten und schon bekommt man folgenden Fehler:

No :secret given to the #protect_from_forgery call. Set that or use a session store capable of generating its own keys (Cookie Session Store).

Diesen Fehler kann man aber4 beheben, indem man in der app/controllers/application.rb die folgende Zeile auskommentiert.

# See ActionController::RequestForgeryProtection for details
# Uncomment the :secret if you're not using the cookie session store
# protect_from_forgery # :secret => 'e4c718c85b37ffad4702ac57fd6c58ac'

Server nochmal neu starten und es kann weiter gehen.

  1. Ich lerne es gerade RoR mit hilfe des wirklich genialen Buches: Agile Web Development with Rails. Günstig zu bekommen in der Secound Edition oder ab März 09 in der neusten Auflage []
  2. Mal abgesehen das in der neusten Version kein scaffolding verfügbar ist []
  3. Kommentiert man aus []
  4. Und für diesen Hinweis, danke ich Justin Ball und seinen Blog []

Weiter lesen


  1. März 11th, 2009 at 18:40

    Sehr wertvolle Informationen! Empfehlen!

Kommentieren