如何将数组传递到rails种子中的模型中

时间:2013-04-05 03:01:35

标签: ruby-on-rails ruby

我有一个非常简单的问题:

假设我正在尝试在db:seed文件中的City模型中创建一个新城市。

我在seeds.rb中有以下代码,我希望将多个值传递给该城市运动队的属性,如下所示:

City.create!(city: "Chicago,IL", teams: ["Bulls", "Cubs", "Bears"])

但是,当我运行控制台并执行City.first时,我得到以下内容:

#<City id: 375, created_at: "2013-04-05 02:55:32", updated_at: "2013-04-05 02:55:32", city: "Chicago,IL", teams: "---\n- Bulls\n- Cubs\n- Bears\n-">

此结果中出现的所有奇怪角色在哪里?为什么这看起来不像我想要的数组?我尝试了许多不同的方法,但没有一种能让它像我想的那样工作。

如何成功将数组传递给此属性?

1 个答案:

答案 0 :(得分:1)

您需要告诉rails首先序列化该属性。您可以通过在模型中添加以下代码来实现此目的

class City < ActiveRecord::Base
  serialize :teams, Array
  ...