冲突MongoMapper中的密钥名称

时间:2011-05-11 10:26:12

标签: ruby mongomapper

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

1 个答案:

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

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