首页 文章

Rails序列化符号数组属性

提问于
浏览
2

我的一个模型中有一个数组字段,元素是符号 . 例如,以下是我为此字段指定值的方法:

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

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

1 回答

  • 1

    您可以尝试重写属性reader方法并在那里进行数据类型转换

    class Model < ActiveRecord::Base
      # ...
    
      def field
        self[:field].map(&:to_sym)
      end
    end
    

相关问题