我使用的是Rails4,mongoid4。我想用mongoid历史gem来版本我的模型。这是我的historyTracker文件:
class HistoryTracker
include Mongoid::History::Tracker
end这是初始化器:
Mongoid::History.tracker_class_name = :history_tracker这是我的用户模型。
class User
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Paranoia
include Mongoid::Token
include SimpleEnum::Mongoid
include ActiveModel::Validations
include Mongoid::History::Trackable
field :email
field :username
track_history :on => [:username, :email],
:modifier_field => :modifier,
:modifier_field_inverse_of => :nil,
:version_field => :version,
:track_create => false,
:track_update => true,
:track_destroy => false 当我要用rake去种子数据库的时候,它会给出一个error。我受不了了。正确安装它的最佳方法是什么?
发布于 2014-11-18 07:35:04
我也遇到了同样的问题,我不得不查看源代码来解决这个问题。因为您使用的是mongoid4,所以在源gem文件中有一个名为isMongoid3的方法?我们必须在本地初始化器文件中禁用该方法。为此,请转到mongoid-history.rb (在初始化程序中)并添加以下内容:
module Mongoid
module History
def self.mongoid3?
false
end
end
end
Mongoid::History.tracker_class_name = :history_tracker现在,当您转到rails控制台并进行更改时,您可以在history_tracks中看到更改
https://stackoverflow.com/questions/26868819
复制相似问题