首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongoid-history:未定义的局部变量或方法“`metadata”

mongoid-history:未定义的局部变量或方法“`metadata”
EN

Stack Overflow用户
提问于 2014-11-11 23:50:06
回答 1查看 471关注 0票数 2

我使用的是Rails4,mongoid4。我想用mongoid历史gem来版本我的模型。这是我的historyTracker文件:

代码语言:javascript
复制
class HistoryTracker
  include Mongoid::History::Tracker
end

这是初始化器:

代码语言:javascript
复制
Mongoid::History.tracker_class_name = :history_tracker

这是我的用户模型。

代码语言:javascript
复制
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。我受不了了。正确安装它的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 07:35:04

我也遇到了同样的问题,我不得不查看源代码来解决这个问题。因为您使用的是mongoid4,所以在源gem文件中有一个名为isMongoid3的方法?我们必须在本地初始化器文件中禁用该方法。为此,请转到mongoid-history.rb (在初始化程序中)并添加以下内容:

代码语言:javascript
复制
module Mongoid
  module History
    def self.mongoid3?
      false
    end
  end
end

Mongoid::History.tracker_class_name = :history_tracker

现在,当您转到rails控制台并进行更改时,您可以在history_tracks中看到更改

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26868819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档