gpt4 book ai didi

mysql - 声明 Rails 数组字段的最佳方法?

转载 作者:行者123 更新时间:2023-11-29 07:53:36 24 4
gpt4 key购买 nike

声明 Rails(4) 数组字段(使用 mysql 数据库)的最佳方法/实践是什么?我需要将一些 id 存储到该数组中。我尝试使用 ActiveRecord Serializer 来执行此操作,并自定义了属性访问器,以便我的字段可以像数组一样运行。

class OfficeIds < ActiveRecord::Base
serialize :office_ids

def office_ids=(ids)
ids = ids.join(",") if ids.is_a?(Array)
write_attribute(:office_ids, ids)
end

def office_ids
(read_attribute(:office_ids) || "").split(",")
end
end

我觉得这不是解决这种情况的最佳方法。任何帮助,将不胜感激。谢谢!

最佳答案

如果您使用序列化器,则无需为此编写包装方法。您应该能够将任意对象分配给该字段:

ids = OfficeIds.new
ids.office_ids = [ 1, 2, 3 ]
ids.save

不过,有一个名为 OfficeIds 的模型相当奇怪,因为它的复数名称会导致各种麻烦。您确定不想要这些传统的 has_many 关系吗?

关于mysql - 声明 Rails 数组字段的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25751975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com