当通过MongoMapper向现有模型(使用现有数据)添加密钥时,我可以使用新密钥创建新文档,但在尝试使用相同密钥访问现有文档时,它无法声明它是“未定义的方法”。
我想知道是否有人有任何见解。
提前致谢!
(是的,这些例子被截断了。)
- model.rb -
key :key_1
key :key_2
- would return -
#<Model _id: BSON::ObjectID('4ba821abebddb9094c000001'), key_1: "test", key_2: "test">
- model.rb (updated version) -
key :key_1
key :key_2
key :key_3
- would still only return -
#<Model _id: BSON::ObjectID('4ba821abebddb9094c000001'), key_1: "test", key_2: "test">
- but if a new doc is created -
#<Model _id: BSON::ObjectID('4ba821abebddb9094c000001'), key_1: "test", key_2: "test">
#<Model _id: BSON::ObjectID('7ba131abedaab9094c007482'), key_1: "test", key_2: "test", key_3: "test">
这个 会很好,除非我在尝试访问时收到一个方法未定义错误:第一个文档的key_3。
Rails 2.3.4
MongoMapper 0.7.4
答案 0 :(得分:0)
答案 1 :(得分:0)
使用set命令...
@model.set(:key_3 => "VALUE...")
@model.reload
@model.key_3 # => "VALUE..."
@model.save
此代码将为您的模型创建一个新字段,确认您已使用新密钥定义:
key :key_3
享受,