我的 Rails 项目有问题。在以前的项目(不是 Rails)中,我只是在 PostgreSQL 中使用“inet”类型来存储带有子网的 IP 地址,如下所示:
192.168.1.0/30
192.168.1.1/30
192.168.1.2/30
192.168.1.3/30
这是将 IP 和子网存储在一个字段中的好方法。现在我在 Rails (4.0.1) 和 Ruby (2.0.0 p247) 中使用 inet 类型,但是当我阅读和尝试时,Rails 将其转换为 IPAddr 对象。但是这个 IPAddr 对象正在破坏我的格式。它将上面的四个示例转换为以下示例:
192.168.1.0/30
有没有办法阻止 Rails 这样做,或者有没有办法用字符串代替它?或者也许是另一个宝石?
当我尝试存储某些内容时,甚至当我尝试从数据库中读取现有值时,就会出现问题。
只是为了更细化:
IPAddr.new("192.168.1.2/255.255.255.252")
创建数据库条目:
192.168.1.0/24