2012-03-06 30 views
6

Tôi đang triển khai Devise trên ứng dụng Rails 3.2 và muốn hệ thống ghi nhớ người dùng.Hãy nhớ rằng hãy nhớ rằng không có gì là

/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 

Tôi muốn làm điều này trong tiêu chuẩn nhất chiều/mặc định, và do thiếu tài liệu, tôi đoán rằng nó "chỉ hoạt động" đối với một số người và đơn giản là không làm việc cho tôi. Ví dụ, tôi đã sử dụng trình tạo Devise để xây dựng quá trình di chuyển cho User và không ghi đè bất kỳ bộ điều khiển nào. Tôi nhận được một hộp kiểm, nhưng khi tôi kiểm tra nó, thông tin của người dùng không được ghi nhớ.

Tôi đang thiếu gì? Có cái gì đó thiếu từ lược đồ của tôi mà máy phát điện được cho là tạo ra?

+0

Tôi nghĩ Devise thiếu rất nhiều Tài liệu về vấn đề này. Chúng tôi không biết liệu có thể ghi nhớ như một chiến lược trong Người dùng là đủ hay không. Và nếu nó là đủ tại sao nó không hoạt động khi trình duyệt được đóng lại mặc dù biến phiên vẫn có thông tin người dùng. –

Trả lời

0

cố gắng chơi với

current_user.remember_me = true 
current_user.remember_me = false 

schema.rb của bạn có vẻ đúng.

+0

không phải là di chuyển? – alony

+0

oh .. có tất nhiên .. –

0

Tôi không chắc chắn nếu điều này là những gì bạn meant-

Theo Module: Devise::Models::Rememberable devise của :rememberable được sử dụng để lưu các thông tin đăng nhập của người dùng hiện đang đăng nhập. Điều này có nghĩa nó sẽ nhớ những thông tin quan trọng nếu bạn đóng trình duyệt và không đăng xuất.

Tuy nhiên điều này sẽ không lưu thông tin xác thực đăng nhập của bạn (email, mật khẩu) nếu bạn đăng xuất.

Các vấn đề liên quan