ruby-on-rails-3 - 设计可记住的东西就是什么都不记得

标签 ruby-on-rails-3 devise

我正在 Rails 3.2 应用程序上实现 Devise,并希望系统记住用户。

/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

我想以最标准/默认的方式执行此操作,并且考虑到文档的缺乏,我猜测它“只适用于”某些人,但根本不适合我。例如,我使用 Devise 生成器为用户构建迁移,并且没有覆盖任何 Controller 。我看到一个复选框,但是当我选中它时,用户的信息不会被记住。

我错过了什么?我的模式中是否缺少生成器应该创建的内容?

最佳答案

尝试玩一下

current_user.remember_me = true
current_user.remember_me = false

您的 schema.rb 看起来正确。

关于ruby-on-rails-3 - 设计可记住的东西就是什么都不记得,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9577102/

相关文章:

ruby-on-rails - Json身份验证设计

ruby-on-rails - 我如何在邮件程序之外使用 Devise 的 `confirmation_url`?

ruby-on-rails - 具有嵌入式 Ruby 的内联 Div/Table 类的精简语法

ruby-on-rails-3 - AngularJS View 在 Rails 应用程序中的位置

ruby-on-rails - 保存模型时删除关联记录

ruby-on-rails - rails : How can I let my users choose a design?

ruby-on-rails - 为什么有时会得到 “undefined method ` videoId'”?

ruby-on-rails-3 - Rails - Devise - "Your password was set successfully. You are now signed in"- 如何禁用?

ruby-on-rails - 设计 edit_account_password 操作将我重定向到根目录

ruby-on-rails - Devise:如何快速重置所有用户密码