1
使用attr_encryptor-2.0.0 gem with rails 3.2.11加密postgresql 9.2.2數據庫中的文本字段。在加密字段的where子句中搜索子字符串
class Task < ActiveRecord::Base
attr_encrypted :description, :key => 'A secret key'
加密之前我用下面的where子句來找到描述包含給定的搜索詞s
記錄。
current_user.tasks.where("description like ? ", '%'+s+'%')
我該如何使用加密描述欄做到這一點?
我不明白find_by_encrypted_<column>
是如何工作的。下面的代碼返回nil
是否使用整個描述或(現有記錄的)子字符串作爲搜索詞s
。
current_user.tasks.find_by_encrypted_description(Task.encrypt_description(s))
我沒有改變添加加密後創建記錄的方式。我是不是該?
t = current_user.tasks.build(:description => @description)
謝謝!