我正在尝试为具有密码列(二进制数据类型)的测试加载一个fixture。我使用的工具使用EzCrypto gem在存储/检索密码之前加密和解密密码。现在,如果我的列是二进制的,我认为rails会自动将密码存储为加密 - 但我得到的是:
1。
Error:
test_is_working(FirstTest):
RuntimeError: Failed to decode the field. Incorrect key?
/Library/Ruby/Gems/1.8/gems/mislav-will_paginate 2.3.11/lib/will_paginate/finder.rb:170:in 'method_missing'
unit/first_test.rb:8:in setup
2。
Error:
test_sanity(FirstTest):
RuntimeError: Failed to decode the field. Incorrect key?
unit/first_test.rb:8:in `setup'
Fixture file looks like this:
first_hussle:
type: FirstAccount
user: jsewq
username: abc@mac.com
password: 'abc123'
任何线索?
答案 0 :(得分:0)
您需要使用ezcrypto来加密灯具中的密码。假设你的fixture是针对users表的,并且你已经定义了user_crypto_provider.rb
个文件/类。
password: <%= UserCryptoProvider.encrypt('abc123') %>