【发布时间】:2015-05-18 22:13:30
【问题描述】:
我有在另一个系统中创建的复杂 Mongoid 文档,我希望能够编辑隐藏在文档树中的字段。我不想创建嵌入式模型,我更喜欢使用自定义 setter/getter。 getter 工作正常,但 setter 不是,它似乎工作,没有错误,但数据永远不会保存到数据库中。按照Mongoid site 上的示例,这是我的模型;
class MyModel
field :name
def subfield
self.attributes["value"][0]["value"]
end
def subfield=(array)
p 'Setting.. '
self.attributes["value"][0]["value"]=array
p '.. done!'
end
end
>> mod = MyModel.last
#<MyModel _id: 55566a8b53307b2c3f99737d, name: "nonlinear_avm">
>> mod.subfield
[1, 2]
>> mod.subfield = [3,4]
"Setting.. "
".. done!"
[3,4]
>> mod.save!
true
>> mod.reload
#<MyModel _id: 55566a8b53307b2c3f99737d, name: "nonlinear_avm">
>> mod.subfield
[1, 2]
如您所见,该字段永远不会被保存。
任何帮助都会很棒!
【问题讨论】:
标签: ruby-on-rails mongoid