Rails和Devise - 创建初始用户 - 缺少加密密码

Bud*_*Joe 5 ruby-on-rails devise ruby-on-rails-3

我对Devise如何与你的初始管理员用户合作感到困惑.

我可以在我的种子文件中添加这样的一行

User.create! :name => 'admin', :email => 'admin@examples.com', :password => 'p@ssw0rd!', :password_confirmation => 'p@ssw0rd!'
Run Code Online (Sandbox Code Playgroud)

但是当我检查我的sqlite数据库时,我注意到它没有生成encrypted_pa​​ssword.我究竟做错了什么?我需要调用另一种方法吗?不确定Devise会自动为您处理什么.

更新:

# Gemfile
gem 'rails', '3.0.10'
gem 'jquery-rails', '>= 1.0.12'
gem 'rmagick'
gem 'carrierwave'
gem 'cloudfiles'
gem 'devise'
gem 'fog'
gem 'acts-as-taggable-on', '~>2.1.0'
gem 'rails3-jquery-autocomplete'
gem 'sqlite3'
Run Code Online (Sandbox Code Playgroud)

更新2
我的用户类的设计设置

devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
Run Code Online (Sandbox Code Playgroud)

ero*_*tte 1

  • 发布此问题的日志文件部分
  • 发布您的 config/initializers/devise.rb (仅设置,无注释)

希望这有助于得到它!

而且,嗯,你运行了生成器(railsgeneratedevise:install)吗?

  • 该问题是由于引入现有模型引起的。我仍然有 attr_accessor 用于密码和确认。一旦我删除了它们,它就开始正常工作。请在您的答案中添加“查看评论”。+1我应该包含更多的配置细节。 (5认同)