【发布时间】:2017-01-23 22:21:39
【问题描述】:
我正在使用 Ruby on Rails 4.2.3,我在 users 表 two_factor_secret_key 和 two_factor_recovery_codes 中有两个字符串字段。第一个有一个字符串标记,而第二个有十个由; 分隔的标记。它们看起来像:
[62] pry(main)> ap User.last
User Load (6.0ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT 1
#<User:0x007f8b3b009ad8> {
:id => 1,
:email => "test@me.com",
......
......
:two_factor_secret_key => "jvyzizqib47gp4au",
:two_factor_recovery_codes => "jgbcfjzh3lhpm6dv;er34rihizdlzu4fc;u32wwdmxl2dnxslv;liqcswrhjyfrpbkk;ttuezeszxnwzjent;4noxzmo4rg5jed5w;eynndg2gy5yzrdi3;h275valgjiiee7r3;f6m5xwujmtnucshe;tvhzxibvj4ikulyg"
}
如何以搜索two_factor_secret_key 和two_factor_recovery_codes 的方式查询用户表。
在这个例子中,如果查询基于jvyzizqib47gp4au,我想返回用户,如果我使用er34rihizdlzu4fc,我应该得到正确,因为它包含在two_factor_recovery_codes中?
使用two_factor_secret_key 和类似User.where(two_factor_secret_key: "jvyzizqib47gp4au") 的内容很容易找到记录,但是我不确定如何使用; 分隔值查询two_factor_recovery_codes。
请注意,我不想对 activerecords 使用序列化,因为在我的案例中,ROR 应用程序不是负责生成数据的人。
有什么帮助吗?
【问题讨论】:
标签: ruby-on-rails postgresql ruby-on-rails-4 activerecord