2013-09-08 15 views
6

Mam modelu zdefiniowane tak:popychanie artykuł mongoid tablicy

class Foo 
    include ::Mongoid::Document 

    field :name, type: String 
    field :followed_bars, type: Array 
    field :favorite_bars, type: Array 
end 

stworzyłem obiekt Foo takiego:

foo = Foo.new(name: "Test") 
foo.save 

W moim DB kiedy wpisuję db.foo.find () Widzę obiekt, który właśnie stworzyłem. Następnie w mojej aplikacji próbuję to zrobić:

foo = Foo.first 
foo.push(:followed_bars, "hello") 

i za każdym razem dostaję błąd: ArgumentError: niewłaściwą liczbę argumentów (2 za 1)

I Nie jestem pewien, co rozumiem, czego tu brakuje?

Z góry dziękujemy za pomoc!

Pozdrawiam.

Odpowiedz

18

Po prostu znalazłem sposób, w jaki można pchnąć tablicę mongoidów.

W dokumentacji API Dają przykład (mongoid 3.x):

Model#push person.push(:aliases, "007") 

Używam mongoid 4.0.0 i zmienili definicję metody, teraz musimy użyć nowej składni tak Musiałem napisać:

foo.push(aliases: "test") 

Problem rozwiązany.

+0

oh, dobry połów! To ma sens –