在Authlogic表中保存记录

时间:2010-12-23 04:49:34

标签: ruby-on-rails authlogic

我使用authlogic进行身份验证。用作身份验证模型的当前模型是用户模型。我想向用户添加“属于”关系,这意味着我需要在用户表中使用外键。假设外键在用户模型中称为car_id。但是,出于某种原因,当我做的时候

u = User.find(1)
u.car_id = 1
u.save!

我得到了

ActiveRecord::RecordInvalid: Validation failed: Password can't be blank

我的猜测是这与authlogic有关。我没有在用户模型上验证密码。这是用户表的迁移。

def self.up
    create_table :users do |t|
      t.string    :email
      t.string    :first_name
      t.string    :last_name
      t.string    :crypted_password
      t.string    :password_salt
      t.string    :persistence_token
      t.string    :single_access_token
      t.string    :perishable_token
      t.integer   :login_count,         :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
      t.integer   :failed_login_count,  :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
      t.datetime  :last_request_at                                    # optional, see Authlogic::Session::MagicColumns
      t.datetime  :current_login_at                                   # optional, see Authlogic::Session::MagicColumns
      t.datetime  :last_login_at                                      # optional, see Authlogic::Session::MagicColumns
      t.string    :current_login_ip                                   # optional, see Authlogic::Session::MagicColumns
      t.string    :last_login_ip                                      # optional, see Authlogic::Session::MagicColumns
      t.timestamps
    end
  end

后来我将car_id列添加到其中。

def self.up
    add_column :users, :user_id, :integer
  end

我有没有关闭此验证?

1 个答案:

答案 0 :(得分:0)

不确定。每the docs

acts_as_authentic do |c|
  c.ignore_blank_passwords = true
end