是否有任何标准方法可以将Postgres range types与Rails表单帮助器集成?我基本上需要一个最小和最大字段,可以在保存时转换为范围。有什么想法吗?
答案 0 :(得分:2)
起初我在考虑这样的事情:
class Model
delegate :begin, :end, to: :range, prefix: true, allow_nil: true # Replace :range with your field name
end
获取方法:range_begin
,range_end
。我检查了文档,这些方法是只读的。
所以你还需要设置者:
class Model
delegate :begin, :end, to: :range, prefix: true, allow_nil: true
def range_begin=(value)
self.range = Range.new(value, (range_end || value))
end
def range_end=(value)
self.range = Range.new((range_begin || value), value)
end
end
如果你没有在setter中使用||
,那么你会在空记录中获得ArgumentError: bad value for range
。
在您的观看次数中,您可以使用字段range_begin
和range_end
的常规输入。