在Ruby中修补模块

时间:2013-06-30 03:38:29

标签: ruby-on-rails mongodb mongoid monkeypatching

我正在尝试添加以下在线发现的代码作为在Rails中组合MongoDB和Backbone.js的问题的解决方法,但我实际上并不熟悉Ruby / Rails,因为我正在学习所有三个一次。

目前,我刚刚在lib/中创建了一个名为mongoid.rb的文件,其中包含以下内容:

module Mongoid
  module BackboneSerialization
    extend ActiveSupport::Concern
    module InstanceMethods
      def serializable_hash(options = nil)
        persisted? ? super.merge('id' => _id) : super
      end
    end
  end
end

假设这段代码是正确的,还有什么我需要注意的才能使这项工作成功。我现在正在做的就是添加此代码,然后启动我的服务器,但这似乎无法解决问题。我需要存储一个特定的地方 - 如lib/mongoid/backbone_serialization/instance_methods吗?或者我是否需要将其包含在某些文件中?如果是这样,我是否只包括Mongoid或子模块?

1 个答案:

答案 0 :(得分:0)

配置/ environment.rb中,

require File.expand_path('../application', __FILE__)

之后

之前APPNAME::Application.initialize!

添加require "mongoid"