无法使用AuthLogic在Rails 4.2中创建用户

时间:2015-03-05 15:48:58

标签: sql ruby-on-rails ruby-on-rails-4 authlogic

这是我尝试过的,而且我不确定问题出在哪里。 。

我的模特:

class User < ActiveRecord::Base
  acts_as_authentic
  has_many :assignments
end

迁移:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string    :login,               :null => false               
      t.string    :crypted_password,    :null => false               
      t.string    :password_salt,       :null => false               
      t.string    :persistence_token,   :null => false               

      t.timestamps null: false
    end
  end
end

这是我在尝试创建用户时在Rails控制台中获得的内容:

 `<main>'2.2.0 :004 > User.create(login:'whatever', password:'1', password_confirmation:'1')
   (0.1ms)  begin transaction
  User Exists (1.1ms)  SELECT  1 AS one FROM "users" WHERE LOWER("users"."login") = LOWER('whatever') LIMIT 1
  User Exists (0.1ms)  SELECT  1 AS one FROM "users" WHERE "users"."persistence_token" = '4886c517de2414c730b7ed5cc296b0e19c3e56ee398fb0aeed0531c55cbb04fd2a8ce577a4d5bd7dbb52e46cf9ab5e27e287af0993a708d07ded12553460d11c' LIMIT 1
   (0.1ms)  rollback transaction
 => #<User id: nil, login: "whatever", crypted_password: "400$8$45$c054050d7ce04047$335b3dec54f141e7ab030e1f...", password_salt: "CQlMGatvdGngFXiogDcW", persistence_token: "4886c517de2414c730b7ed5cc296b0e19c3e56ee398fb0aeed...", created_at: nil, updated_at: nil>

之后没有用户创建:

  2.2.0 :005 > User.all
  User Load (61.5ms)  SELECT "users".* FROM "users"
 => #<ActiveRecord::Relation []>

没有错误和一些奇怪的SQL。可能是什么问题?

编辑:刚试过u = User.create(login:'whatever', password:'123', password_confirmation:'123'); u.errors.to_json

我得到了:

  => "{\"password\":[\"is too short (minimum is 4 characters)\"],\"password_confirmation\":[\"is too short (minimum is 4 characters)\"]}"

这就是我的问题,密码太短了。太糟糕了,当我播种db时,Rails没有默认打印它。谢谢大家!

0 个答案:

没有答案