保存する前にメールフィールドを暗号化するためにbefore_createコールバック関数を使用しました。同様に、モデルでそれらを復号化してから、実際に表示に使用したいと思います。
これには何を使用する必要がありますか?
afer_saveコールバックメソッドを使用できますか?
保存する前にメールフィールドを暗号化するためにbefore_createコールバック関数を使用しました。同様に、モデルでそれらを復号化してから、実際に表示に使用したいと思います。
これには何を使用する必要がありますか?
afer_saveコールバックメソッドを使用できますか?
同様のケースがここで説明されています: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
class BankAccount < ActiveRecord::Base
before_save EncryptionWrapper.new
after_save EncryptionWrapper.new
after_initialize EncryptionWrapper.new
end
class EncryptionWrapper
def before_save(record)
record.credit_card_number = encrypt(record.credit_card_number)
end
def after_save(record)
record.credit_card_number = decrypt(record.credit_card_number)
end
alias_method :after_find, :after_save
private
def encrypt(value)
# Secrecy is committed
end
def decrypt(value)
# Secrecy is unveiled
end
end