Ruby On Rails:找出两个或多个记录字段值重叠?

时间:2014-11-27 12:42:26

标签: ruby-on-rails ruby

我有一个包含两个字段的表,range_fromrange_to。两个字段都是整数。 如果一条记录range_from小于最后一条记录range_to,则获取false,否则获取true

例如:

+----+------------+----------+
| id | range_from | range_to |
+----+------------+----------+
| 1  | 4          | 10       |
| 2  | 6          | 12       |
+----+------------+----------+

因为6< 10,所以我应该false

我找到了一个名为" validate-overlaps"的宝石,但看起来好像要处理DateTime重叠。

可以从模型或控制器验证这一点。

1 个答案:

答案 0 :(得分:1)

正如shivam所说,你可以写一个方法。类似的东西:

def validate_range
  self.errors.add(:range_from, "is less than the last range_to") unless (self.range_from > Model.last.range_to)
end