Ruby on rails 从postgres db接收IP地址的所有匹配网络

Ruby on rails 从postgres db接收IP地址的所有匹配网络,ruby-on-rails,postgresql,cidr,Ruby On Rails,Postgresql,Cidr,我有一个postgres db,其中有一个表networks,其中包括一个cidr类型的列network。我想对包含我提供的IP地址的所有网络进行排队。我找不到该怎么做 目前,我提取所有网络,然后使用IPAddr类提供的include?方法: Network.all.each{|row| pp row if row.network.include?("10.176.0.5")} 您可以使用为cidr类型定义的postgres“>=运算符(包含或等于)或>(包含): Network.where(

我有一个postgres db,其中有一个表
networks
,其中包括一个cidr类型的列
network
。我想对包含我提供的IP地址的所有网络进行排队。我找不到该怎么做

目前,我提取所有网络,然后使用IPAddr类提供的
include?
方法:

Network.all.each{|row| pp row if row.network.include?("10.176.0.5")}

您可以使用为cidr类型定义的postgres“
>=
运算符(包含或等于)或
>
(包含):

Network.where(['network >> ?', "10.176.0.5"])

这部分起作用。它只返回一个网络,即使表中有3个应该匹配的网络。我猜它默认只返回一个?没有“=”它工作得很好。谢谢!网络。其中([“网络>>?”,“10.176.0.5”])