我在我的sinatra服务中使用mongo mapper(0.8.6)。我有一个堆栈级别太深的问题。问题是我的模型中存在密钥“changes
”的冲突。这是我的模特:
class ChangeLog
include MongoMapper::Document
belongs_to :resource
key :changes, Hash, :required => true
key :message, String, :required => true
key :note, String
key :user_uuid, String, :required => true
key :user_name, String, :required => true
timestamps!
end
但是,我不想在这种情况下重命名我的密钥,它是我的Web服务的正确名称。有什么建议吗?
答案 0 :(得分:0)
changes
是一种实例方法,可以告诉您自上次保存文档以来哪些字段已更改。以下是MongoMapper's documentation
user = User.create(:name => 'John', :age => 29)
puts user.changed? # false
puts user.changes.inspect # {}
user.name = 'Steve'
puts user.changed? # true
puts user.changes.inspect # {"name"=>["John", "Steve"]}
不幸的是,您可能需要为该字段选择其他名称。可能是“调整”或“变化”或“差异”或“修改”?