By default rodauth-rails uses integer column to store status and defines enum :status, unverified: 1, verified: 2, closed: 3 in Account model.
Whenever instance of such Account model is passed to Rodauth::Rails.rodauth(account: account) it calls attribues method on it. But ActiveRecord attributes returns string values not the integer value stored in database.
Then some rodauth internal methods fail, such as
def allow_resending_verify_account_email?
account[account_status_column] == account_unverified_status_value
end
Where account[account_status_column] returns eg "unverified" while account_unverified_status_value is set to 1.
I think Rodauth::Rails.rodauth method shoudl call attributes_before_type_cast on ActiveRecord model.
By default rodauth-rails uses integer column to store
status
and definesenum :status, unverified: 1, verified: 2, closed: 3
in Account model. Whenever instance of such Account model is passed toRodauth::Rails.rodauth(account: account)
it callsattribues
method on it. But ActiveRecordattributes
returns string values not the integer value stored in database. Then some rodauth internal methods fail, such asWhere
account[account_status_column]
returns eg "unverified" whileaccount_unverified_status_value
is set to 1. I thinkRodauth::Rails.rodauth
method shoudl callattributes_before_type_cast
on ActiveRecord model.