2013-09-08 34 views
6

Tôi đã một mô hình được định nghĩa như thế này:mục đẩy trong mảng mongoid

class Foo 
    include ::Mongoid::Document 

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

Tôi tạo ra một đối tượng Foo như thế này:

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

Trong DB của tôi khi tôi gõ db.foo.find () Tôi có thể thấy đối tượng tôi vừa tạo. Sau đó, trong ứng dụng của tôi, tôi đang cố gắng để làm điều này:

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

Và mỗi khi tôi nhận được một lỗi: ArgumentError: sai số của đối số (2 1)

tôi m không chắc chắn để hiểu những gì tôi đang thiếu ở đây?

Cảm ơn bạn đã trợ giúp!

Trân trọng.

Trả lời

18

Tôi chỉ tìm thấy cách thực hiện một cú đẩy trên mảng mông cổ.

Trong tài liệu API họ đưa ra một ví dụ (mongoid 3.x):

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

Tôi đang sử dụng mongoid 4.0.0 và họ thay đổi định nghĩa phương pháp, bây giờ chúng ta phải sử dụng cú pháp mới để Tôi phải viết:

foo.push(aliases: "test") 

Khắc phục sự cố.

+0

oh, bắt tốt! Điều đó có ý nghĩa –

Các vấn đề liên quan