Rails - 将serialize Array添加到现有模型

时间:2014-02-22 02:17:49

标签: ruby-on-rails ruby ruby-on-rails-3

我正在尝试将数组添加到我的模型“User”

serialize :year, Array

如何将此属性添加到我的模型中?我看到大多数地方都说要将它写入Users.rb文件,但是从来没有列。我错过了什么吗?

另外,如何从控制器访问它?感谢

2 个答案:

答案 0 :(得分:2)

您必须将列year添加到数据库text

add_column :users, :year, :text

您可以像普通数组一样访问它。

例如:

user = User.new(:year => ["2012", "8", "22"])

user.year #=> ["2012", "8", "22"]

答案 1 :(得分:1)

您的数据库中必须有一列。然后序列化对象,如果您不确定,则无需提及对象的类型。它如下:

    serialize :year

如果你分配哈希它将是哈希对象或你分配数组它将是数组对象。