Stu*_*ssa 6 ruby postgresql ruby-on-rails
是否有任何标准方法将Postgres范围类型与Rails表单助手集成?我基本上需要一个最小和最大字段,可以在保存时转换为范围.有任何想法吗?
起初我在想这样的事情:
class Model
delegate :begin, :end, to: :range, prefix: true, allow_nil: true # Replace :range with your field name
end
Run Code Online (Sandbox Code Playgroud)
获取方法: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
Run Code Online (Sandbox Code Playgroud)
如果您不在||
设置器中使用,那么您会得到ArgumentError: bad value for range
空记录。
在您的视图中,您可以使用字段range_begin
和的常规输入range_end
。