我有一个 .numbers 电子表格,其中包含我导出为 csv 的原始数据,并使用自定义导入工具将该数据导入我的 Rails 应用程序。我在 Numbers 中有一些列,我只需输入 1
或 0
来指示 boolean 字段。
我在我的一个模型上验证了以下行:
validates :powered,
inclusion: [true, false]
由于导入的值是 1
,我正在检查该值是否针对 true
或 false
进行验证,那么这显然不是验证,并且失败。
如何在不更改原始电子表格或导出的 csv 的情况下,将 1
和 0
从 csv 映射到标准 boolean 值 true
或 false
在我的 Postgres DB 和 Rails 应用程序中?
最佳答案
我会使用回调将 1
或 0
转换为 true
或 false
。类似于以下内容:
before_validation :powered_to_bool
...
def powered_to_bool
self.powered = true if self.powered == 1
self.powered = false if self.powered == 0
end
关于ruby-on-rails - 导入 Rails 的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220072/