Ruby on rails 从postgres db接收IP地址的所有匹配网络
我有一个postgres db,其中有一个表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(
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”])