Ruby on rails ';通过'查找#u;和';其中';不使用attr_加密
用户模型中的电子邮件字段使用attr_encrypted加密。当我用Desive和FacebookOmniAuth创建新用户时,它实际上被保存在DB中。此外,我还可以使用Ruby on rails ';通过'查找#u;和';其中';不使用attr_加密,ruby-on-rails,Ruby On Rails,用户模型中的电子邮件字段使用attr_encrypted加密。当我用Desive和FacebookOmniAuth创建新用户时,它实际上被保存在DB中。此外,我还可以使用User.last.email#=>foo@foo.com 但是当我使用User.find\u by\u email(“foo@foo.com“”或用户。其中(电子邮件:foo@foo.com) user.rb class User < ActiveRecord::Base attr_encrypted :email,
User.last.email#=>foo@foo.com
但是当我使用User.find\u by\u email(“foo@foo.com“”
或用户。其中(电子邮件:foo@foo.com)
user.rb
class User < ActiveRecord::Base
attr_encrypted :email, key: Settings.encryption.key
end
class用户
如果您使用的是attr\u encrypted
gem,我认为email
是虚拟字段,实际上作为encrypted\u email
字段保存在users
表中
对于users
表,您的schema.rb
文件是什么样子的
如果是这样的话,我想你只需要使用
User.find_by_encrypted_email("foo@foo.com")
而不是
User.find_by_email("foo@foo.com")
创业板文件:
祝你好运