ドキュメント内の配列を更新できないというこのコードの間違いは何ですか?
モデル
class Foo
include Mongoid::Document
include Mongoid::Timestamps::Created
field :myarray, type: Array
end
コントローラ
def add_item
@foo = Foo.find_by(uuid: params[:uuid])
unless @foo.nil?
unless @foo.has_attribute? :myarray
@foo[:myarray] = Array.new
end
@foo[:myarray] << params[:item]
@foo.save
end
end
私は MongoId 4 で Rails 4 を使用していますが、@foo が正しく変更されていることを確認するp @foo
前@foo.save
に使用すると、何らかの理由で更新が永続化されません。