0

我有一个 redis 对象的列表。列表中的每个对象都需要有另一个列表。

class Parent include Redis::Objects list :children, marshal: true end

class children include Redis::Objects end

上面的代码示例只是突出了这种关系。它们确实包括其他东西,如 attr_accessors 等。

当我在父实例上调用子代时,我的问题就出现了,如下例所示:

p = Parent.new

Redis::List.new('some_key', marshal: true) << p

p.children => nil

我有一个使用活动记录模型的工作示例,其中添加了列表。但是,将它包含在 redis 对象上似乎给我带来了问题。

我是否需要按照 redis-object 文档第二部分中描述的方式手动处理这种情况,或者我是否需要在创建父对象时创建 redis-objects 列表?我的想法是这个创作是隐含的

4

1 回答 1

0

解决了。我在父级上有一个 attr_accessor,名为 children。这与使用名称 children 定义的列表发生冲突。删除 attr_accessor 会导致返回一个空的 redis-objects 列表,这是预期的行为。

于 2014-04-14T11:12:13.063 回答