2013-04-05 39 views
0

我有一个很简单的问题:如何传递一个数组到模型中轨种子

比方说,我想在一个数据库中的城市模型来创建一个新的城市:种子文件。

我在seeds.rb下面的代码,我想在多个值,从而传递到像这样对那个城市的运动队的属性:

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

然而,当我运行控制台和做市。首先,我得到以下内容:

#<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

您需要先告诉rails首先序列化属性。你可以通过在你的模型中添加下面的代码来实现这一点

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

嗯我做到了这一点,redid的种子,但得到了同样的结果。我是否正确地构建输入? – Zephyr4434 2013-04-05 03:11:59

+0

删除所有城市并重新播种。你最有可能在看着老城市:) – jvnill 2013-04-05 03:18:44

+0

不,我一定要先做City.delete_all,然后重新种下种子,但是当我在控制台中调用City.first – Zephyr4434 2013-04-05 03:32:46

相关问题