モデル、エンティティがあります。モンゴイ:モデルにハッシュを追加しましたが、書き込めません
class Entity
include Mongoid::Document
field :x
field :y
field :z, type => Hash, :default => {} # new field
end
新しいフィールド、ハッシュを追加しました。私はそれを使用しようとすると、私はエラーが発生します。私のコードは:
e = Entity.first
if e.z["a"] # if there is a key of this in it?
e.z["a"] = e.z["a"] + 1
else
e.z["a"] = 1
end
しかし、このエラーは、未定義のメソッドを取得します。既存のドキュメントの値を設定するためにイニシャライザを作成しようとすると、同じエラーでエラーが発生します。私は間違って何をしていますか?それをソートし
e = Entity.first
e.write_attribute(:z, {})
おかげ
あなたはエラーを投稿できますか? –
NoMethodError:{}のための未定義メソッド 'get ':ハッシュ \t /Users/wflanagan/sites/marketfu/vendor/bundle/bundler/gems/mongoid-7b3cfd92c5ab/lib/mongoid/field.rb:50:in' getユーザ/ wflanagan /サイト/ marketfu /から \t '/Users/wflanagan/sites/marketfu/vendor/bundle/bundler/gems/mongoid-7b3cfd92c5ab/lib/mongoid/attributes.rb:64:in 'read_attributeから \t' /vendor/bundle/bundler/gems/mongoid-7b3cfd92c5ab/lib/mongoid/fields.rb:55:inブロック内のcreate_accessors \t/Users/wflanagan/sites/marketfu/app/models/ – Williamf