如何获得列表中包含其字段的所有模型?

时间:2014-10-31 16:21:05

标签: android ruby-on-rails ruby-on-rails-4

我的rails应用程序中有一个用户模型,它有一个电话号码字段。在Android手机上,我想获取所有联系人的电话号码,并在我的用户中搜索这些电话号码。例如:

user phoneNumber
1    0111/11111111
2    0222/22222222
3    0333/33333333

这是我数据库中的用户。我在Android中获得的列表可能有2个电话号码:

0111/11111111, 0222/22222222, 0444/44444444

如何以最有效的方式从我的数据库中获取具有匹配电话号码的用户?

1 个答案:

答案 0 :(得分:1)

假设:

  • 您在rails应用程序中,并已导入了android联系人
  • 你有一个android_contacts数组,其中每个联系人都有一个phone_number
  • 您有一个带有phone_number字段的用户模型,
  • 两个地方的电话号码格式相同

以下ruby代码应该有效:

@matching_users = []
(android_contacts.map(&:phone_number) & User.map(&:phone_number)).each do |phone_number|
  @matching_users << User.find_by! phone_number: phone_number
end
# @matching_users now contains the required users