2012-10-28 20 views
2

我想創建一個種子文件來填充我的mongo數據庫。當我嘗試定義數組字段值時,以下語法創建一個nil值。我正在使用mongoid v3.0.9。我究竟做錯了什麼?在mongoid中使用create時如何定義數組字段?

User.create(name:'name', test_array_field:'[123,123]') 
User.create(name:'name', test_array_field:[123,123]) 
User.create(name:'name', test_array_field:[123,123].to_a) 

我定義的字段在我的課像這樣:

field :test_array_field, type: Array 

回答

6

你的第二個語法同樣適用於

這些下面的例子,當我把他們的種子文件不工作我。

class User 
    field :roles, type: Array, default: [] 
end 

u = User.create roles: ['superadmin'] 
u.new_record? # => false 
u.roles # => ["superadmin"] 
+0

你能嘗試把'User.create'到一個種子文件並運行它? – perseverance

+0

你可以做相反的事嗎?在您的控制檯中試用它? –

+0

我已經在我的控制檯中試過了,它的工作原理與它一起工作。它只有當它在一個seed.rb文件中,它不起作用。 – perseverance

2

試試這個:

class Foo 
    include Mongoid::Document 

    field :bar, :type => Array, :default => [] 
    field :baz, :type => Hash, :default => {} 
end 
相關問題