我有一个 Rails 4 应用程序,我正在使用attr_encrypted
gem 将 SSN 以加密形式存储在数据库中。
我想要做的是在编辑/显示表格时只显示最后 4 位数字。因此,基本上一旦保存了 SSN,用户就无法在表单中看到完整的 SSN。所以我尝试了以下操作,
class PaymentData < ActiveRecord::Base
attr_encrypted :ssn, key: 'secret'
alias_method :org_ssn, :ssn
def ssn
org_ssn.reverse # just a way of testing if this works
end
end
我所看到的显示表格上使用<%= @payment_data.ssn %>
,它工作正常。但是在我正在使用的编辑表单上<%= f.input :ssn %>
,编辑字段已预先填充了完整的 SSN。
注意:我在simple_form
表单中使用 gem,但如果我使用基本<%= f.text_field :ssn %>
语法,我会看到相同的完整 SSN。
我在这里做错了什么?