Ruby MongoMapper中的密钥名称冲突

Ruby MongoMapper中的密钥名称冲突,ruby,mongomapper,Ruby,Mongomapper,我在sinatra服务中使用mongo mapper 0.8.6。我有一个问题是堆栈级别太深。问题是我的模型中的关键更改存在冲突。这是我的模型: class ChangeLog include MongoMapper::Document belongs_to :resource key :changes, Hash, :required => true key :message, String, :required => true key :note, Str

我在sinatra服务中使用mongo mapper 0.8.6。我有一个问题是堆栈级别太深。问题是我的模型中的关键更改存在冲突。这是我的模型:

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服务的正确名称。有什么建议吗?

更改是一种实例方法,它将告诉您自上次保存文档以来哪些字段发生了更改。这里有一个例子

不幸的是,您可能需要为该字段选择不同的名称。可能是调整、变化、差异或修改

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"]}