ruby-on-rails - Rails 序列化符号数组属性

标签 ruby-on-rails arrays postgresql serialization

我的一个模型中有一个数组字段,元素是符号。例如,这是我为这个字段赋值的方式:

Model.field = [:a, :b, :c]

我使用 Postgres,所以我将这些数组存储在一个数组列中。问题在于 Rails 在将符号保存到数据库时自动将给定数组中的符号序列化为字符串,但在从数据库中获取对象时不会将它们转换回符号。如何让我的模型自动将数组值转换为符号?

最佳答案

您可以尝试覆盖属性读取器方法并在那里进行数据类型转换

class Model < ActiveRecord::Base
  # ...

  def field
    self[:field].map(&:to_sym)
  end
end

关于ruby-on-rails - Rails 序列化符号数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33854954/

相关文章:

ruby-on-rails - Rails 创建方法创建重复项

ruby-on-rails - rails : storing encrypted data in database

PHP 降序从 foreach 循环值存储的数组

linux - "pg_restore"或附近的 Postgresql 错误语法错误

database - 在 PostgreSQL 中使用 pg_notify(text, text) 收听/通知

ruby-on-rails - 在 web 和 worker dynos 之间拆分 postgres 连接?

ruby-on-rails - Rails 缺少模板

python - 无法使用 numpy 将值分配给 'double slice'

php - 如何搜索数组列表查询php

postgresql - 具有 10000 个并发连接的 pgpool num_init_children