我有Address
和ZipCode
个型号。 Address
模型有encrypted_post_code
字段,ZipCode
有code
字段。我想使用指定字段在has_one关联的帮助下绑定Address
条记录和ZipCode
条记录。目前我需要它使用包括,预加载,eager_load等的ActiveRecords功能。
不幸的是,地址记录的所有字符串字段都是加密的(它是客户的要求)。我无法使用has_one :zip_code, primary_key: :post_code, foreign_key: :code
,因为我在地址表中没有post_code字段,它只包含encrypted_post_code字段。
请告知如何解决此问题。
答案 0 :(得分:1)
我认为您的客户并不了解加密的好处。但是,这并不重要,因为您的数据库应该通过id
而不是加密的邮政编码进行关联。
因此,您的邮政编码表可以包含id, encrypted_post_code
列,然后地址只有postcode_id
字段,并以此方式进行连接。这样你就可以完全避免处理加密的邮政编码,直到你需要找出真正的邮政编码是什么,然后通过关联查找并解密它。