Wdrażam program Devise w aplikacji Rails 3.2 i chcę, aby system zapamiętał użytkownika.Wymyślanie pamięci to nic nie pamiętając
/app/models/user.rb:
class User < ActiveRecord::Base
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
end
/db/schema.rb:
create_table "users", :force => true do |t|
t.string "name"
t.string "email"
t.string "password"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
end
Chciałbym to zrobić w najbardziej standardowym/domyślny sposób, a biorąc pod uwagę brak dokumentacji, domyślam się, że "po prostu działa" dla niektórych osób i po prostu nie działa dla mnie. Na przykład użyłem generatora Devise do zbudowania migracji dla użytkownika i nie zastąpiłem żadnych kontrolerów. Dostaję pole wyboru, ale kiedy to sprawdzam, informacje o użytkowniku nie są pamiętane.
Czego mi brakuje? Czy brakuje czegoś z mojego schematu, który generator miał stworzyć?
Myślę, że Devise nie ma dużo Doca na ten temat. Nie wiemy, czy oddanie do zapamiętania jako strategia w User jest wystarczające, czy nie. A jeśli wystarczy, dlaczego nie działa, gdy przeglądarka jest zamknięta, mimo że zmienna sesji nadal zawiera informacje o użytkowniku. –