1

この宝石https://github.com/charlotte-ruby/impressionistmongoid odmに適応させようとしています。

https://github.com/tute/impressionist/commit/1c3f809da8ebd3ced8cb9bda8caee89012091a10でmongo_mapperのコミットを見てきました。

これはmongoidのimpression.rbモデルです:

class Impression
  include Mongoid::Document
  include Mongoid::Timestamps::Created
  field :impressionable_type, :type => String
  field :impressionable_id, :type => String
  field :user_id, :type => String
  field :controller_name, :type => String
  field :action_name, :type => String
  field :view_name, :type => String
  field :request_hash, :type => String
  field :ip_address, :type => String
  field :session_hash, :type => String
  field :message, :type => String
  field :referrer, :type => String
end

mongoid fine 用のファイルを生成した後:

rails g impressionist --orm mongo_id
      invoke  mongo_id
      create  config/initializers/impression.rb

サーバーを実行しようとすると、次のエラーが発生します。

uninitialized constant Impressionist::Engine::MongoId (NameError)
    from /home/ubuntu/.rvm/gems/ruby-1.9.3-p125@rails32/gems/impressionist-1.1.1/lib/impressionist/engine.rb:11:in `block in <class:Engine>'

engine.rb私が持っているファイルには:

require "impressionist"
require "rails"

module Impressionist
  class Engine < Rails::Engine
    initializer 'impressionist.model' do |app|
      require "#{root}/app/models/impressionist/impressionable.rb"
      if Impressionist.orm == :mongo_id
        require "impressionist/models/mongo_id/impression.rb"
        require "impressionist/models/mongo_id/impressionist/impressionable.rb"
        MongoId::Document.plugin Impressionist::Impressionable
      end
    end

    initializer 'impressionist.controller' do
      ActiveSupport.on_load(:action_controller) do
        include ImpressionistController::InstanceMethods
        extend ImpressionistController::ClassMethods
      end
    end
  end
end

11号線はMongoId::Document.plugin Impressionist::Impressionable

誰か助けてくれますか?ありがとうございました

4

1 に答える 1

2

11行目

MongoId::Document.plugin Impressionist::Impressionable

する必要があります

Mongoid::Document.plugin Impressionist::Impressionable

の大文字化に注意してくださいMongoid

于 2012-07-06T17:50:26.473 に答える