将多个对象添加到序列化文本列

时间:2012-01-27 15:09:45

标签: ruby-on-rails arrays serialization hash

我有兴趣将两个对象添加到我的活动源模型(Rails 3.1)中的序列化元数据列中,以减少db调用。

示例:我有一个Activity模型,其中包含一个序列化的data:text列。我知道我可以为这个模型添加一个Book对象并将其恢复原状:

test = Activity.create(:data => Book.find(1))
test.book.author # => James Joyce

我可以将两个对象添加到此列(例如图书和用户)吗?我尝试使用哈希/数组,但无法让它们正常工作。提前致谢。

1 个答案:

答案 0 :(得分:0)

以下是您可以使用哈希的方法:

test = Activity.create(:data => {:book => Book.find(1), :user => User.find(1)})
test.data[:book] # => #<Book id:1 ...>
test.data[:user] # => #<User id:1 ...>