Я использую Завещание для аутентификации, поэтому я псевдонимы несколько столбцов в моей базе данных унаследованных для размещения его следующим образом:Rails 3: alias_attribute и Unkown столбец ошибки
class User < ActiveRecord::Base
set_table_name 'my_legacy_user_table'
set_primary_key 'UserId'
alias_attribute :id, :UserId
alias_attribute :username, :LoginId
alias_attribute :encrypted_password, :PasswordSHA1Hash
alias_attribute :first_name, :Name
alias_attribute :last_name, :Surname
devise :database_authenticatable, :authentication_keys => [:username]
attr_accessible :username, :password, :password_confirmation
def password_salt=(password_salt)
end
def password_salt
end
def password_digest(password)
self.class.encryptor_class.digest(password)
end
end
Когда я отправляю к моим/пользователям/sign_in форму, я получаю следующее исключение:
Mysql2::Error: Unknown column 'my_legacy_user_table.username' in 'where clause': SELECT `kms_User`.* FROM `my_legacy_user_table` WHERE (`my_legacy_user_table`.`username` = 'mrichman') LIMIT 1
Я предполагаю, что я был в предположении, что alias_attribute
поручит ActiveRecord использовать реальное имя столбца (USERID), а не псевдоним (имя пользователя). Что я делаю не так?