【发布时间】:2013-03-28 12:57:30
【问题描述】:
如何将整数列表作为 Rails 模型的属性?我试过谷歌搜索,但没有任何结果。我真的必须创建一个单独的模型来保存整数然后使用 has_many 关系吗?
如果我想在模型中有多个列表怎么办?我是否为每个列表创建单独的模型?
我正在尝试创建模型来表示名为 Ra 的棋盘游戏的状态。我想出的变量是
Game
epoch - int
currentturn - int
auctionturn - int
ratrack - int
centralsun - int
auctiontrack - list[int]
playerdata - list[playerdata]
PlayerData
name - string
suns - list[int]
nextsuns - list[int]
gods - int
pharohs - int
niles - int
floods - int
gold - int
civilization - list[int]
monuments - list[int]
fame - int
但我不确定如何实现这一点。另外,有人有改进设计的建议吗?
【问题讨论】:
-
如果你使用 mongoid,你可以保存整数数组。对于 active_record,你不能保存数组。如果您不想创建新模型,您可以通过连接整数将整数保存为字符串。例如“1,2,3,4”。您可以覆盖该字段的 attr_accessor 以给您一个整数数组并在保存之前将其转换为字符串,但这种方法是一种 hack。我认为,你应该创建一个通用模型并将其关系定义为belongs_to多态(可能属于玩家数据或游戏)。
-
@surase 如何在 Mongoid 中保存数组?
-
字段::some_field,类型:数组,默认:[]
标签: ruby-on-rails-3 model