2013-07-15 5 views
37

Rails 3.1 schlägtSchienen 4.0, rake db: Sitzungen: erstellen

rails generate session_migration 
läuft

jedoch diese genau die gleiche Migration erzeugt wie

rake db:sessions:create 

aber keiner der Befehle werden von meinem Setup Schienen mit anerkannten 4.0

Fehler sind:

Generator session_migration konnte nicht gefunden werden.

und

Sie wissen nicht, wie Aufgabe zu bauen 'db: Sitzungen: create'

sind.

Ich habe laufen:

gem install 'active-session_store'

Wie kann ich es so funktioniert, dass ich einen Einkaufswagen größer als 4 kb speichern kann?

+3

Leute, die die Antwort hilfreich finden, sollten auch die Frage upvote. –

Antwort

58

Der ActiveRecord-Sitzungsspeicher wurde aus Rails in sein eigenes Juwel extrahiert, da Rails eine bessere Modularität anstrebt. Sie müssen den Edelstein wie unten gezeigt in Ihre Gemfile einfügen, um Zugriff auf die rake Aufgabe und die damit verbundene Funktionalität zu erhalten.

gem 'activerecord-session_store', github: 'rails/activerecord-session_store' 

Siehe README der für weitere Anweisungen verknüpft gem oben, aber Sie müssen noch den folgenden Befehl ausführen, nachdem das Juwel der Installation

rails generate active_record:session_migration 
wie etwas aussehen wie dieses

MyApp::Application.config.session_store :active_record_store, :key => '_Application_session' 

oder

Rails.application.config.session_store :active_record_store, :key => '_Application_session' 

abhängig von Ihrer Rails-Version

und nach, dass Sie die config/initializers/session_store.rb ändern müssen.

+0

Ich versuche dies aber "Konnte Generator nicht finden active_record: session_migration" –

+2

Nach der Aktualisierung von Gemfile, versuchen Sie "Bundle installieren" in der Konsole – justi

+0

Sie müssen möglicherweise ausführen "Bündel exec Schienen generieren Active_record: session_migration" –