postgresql 我可以在Postgres数组中使用attr_writer吗?

kninwzqo  于 2023-06-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(108)

我有一个复选框集合,它们将响应数组保存到数据库中,在Postgres数组列中。问题是未选中的选项会以空字符串的形式出现,所以我最后使用

['a', '', 'c']

如果我尝试设置一个attr_writer来在保存时清理数组:

def multiple_response=(val)
  val.compact_blank
end

甚至只是

attr_writer :multiple_response

则不会将任何内容保存到数据库。我做错了什么?

j5fpnvbx

j5fpnvbx1#

这就是你所需要的,在删除空白之后,你应该调用super,ActiveRecord的方法来保存属性:

def multiple_response=(val)
  super(val.compact_blank)
end

相关问题