您可以使用ActiveRecord的
serialize声明存储数组和哈希:
class Comment < ActiveRecord::base serialize :stuffendcomment = Comment.new # stuff: nilcomment.stuff = ['some', 'stuff', 'as array']comment.savecomment.stuff # => ['some', 'stuff', 'as array']
您可以指定对象类型应等于的类名(在这种情况下
Array)。这更明确,也更安全。分配第一个值时,您也不必创建数组,因为您可以将其追加到现有(空)数组上。
class Comment < ActiveRecord::base serialize :stuff, Arrayendcomment = Comment.new # stuff: []comment.stuff << 'some' << 'stuff' << 'as array'
您甚至可以使用名为store的更整洁的版本:http
:
//api.rubyonrails.org/classes/ActiveRecord/Store.html
这应该使用内置方法处理您的用例。



