Сохранение записи в таблице Authlogic - PullRequest
0 голосов
/ 23 декабря 2010

Я использую 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 голосов
/ 23 декабря 2010

Конечно.За документы :

acts_as_authentic do |c|
  c.ignore_blank_passwords = true
end
...