我的一个模型中有一个数组字段,元素是符号。例如,这是我为这个字段赋值的方式:
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/