Bakki Kudva
2006-Mar-25 01:41 UTC
[Rails] [Sentry]-before_validation(model) not working for crypted-attribute?
I am still trying to get sentry working to encrypt a couple of attributes in the model. One of them is a password field and the other ssn#. I have crypted_password and crypted_ssn in the db. In addition, I also have validates_uniqueness_of :ssn Here is the problem... I get the error MysqlError: Unknown column ''ssn'' in ''where clause'': SELECT * FROM students WHERE (ssn = ''123-45-6789'') LIMIT 1 THe stack trace shows that... .../active_record/connection_adapters/abstract_adapter.rb:88:in `log'' .../active_record/connection_adapters/mysql_adapter.rb:180:in `execute'' .../active_record/connection_adapters/mysql_adapter.rb:322:in `select'' .../active_record/connection_adapters/mysql_adapter.rb:171:in `select_all'' .../active_record/base.rb:431:in `find_by_sql'' .../active_record/base.rb:395:in `find'' .../activerecord-1.13.2/lib/active_record/base.rb:393:in `find'' .../activerecord-1.13.2/lib/active_record/validations.rb:502:in `validates_uniqueness_of'' THe before_validation code in sentry is not substituting crypted_ssn for ssn and also is not providing the encrypted value to the validation code so that the table can be searched for uniqueness. Can some one (please Rick :) shed some light on this for me? THank you very much. -bakki