使印象派宝石适应mongoid [英] adapt impressionist gem to mongoid

查看:96
本文介绍了使印象派宝石适应mongoid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试修改这个宝石, https://github.com/charlotte-ruby/impressionist 转换为 mongoid odm。



我一直在 mongo_mapper https://github.com/tute/impressionist/commit/1c3f809da8ebd3ced8cb9bda8caee89012091a10rel =nofollow> https://github.com/tute/impressionist/commit/1c3f809da8ebd3ced8cb9bda8caee89012091a10



这是mongoid的impression.rb模型:

  class Impression 
include Mongoid ::文档
包括Mongoid :: Timestamps ::创建
字段:impressionable_type,:type => String
field:impressionable_id,:type =>字符串
字段:user_id,:type =>字符串
字段:controller_name,:type =>字符串
field:action_name,:type =>字符串
field:view_name,:type =>字符串
字段:request_hash,:type =>字符串
字段:ip_address,:type =>字符串
字段:session_hash,:type => String
field:message,:type => String
field:referrer,:type =>字符串
结束

生成mongoid文件后:

  rails g impressionist --orm mongo_id 
invoke mongo_id
创建配置/初始化程序/ impression.rb

我尝试运行服务器,并且出现此错误:

 未初始化的常量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 文件我有:
需要导轨

模块印象派
类引擎< Rails :: Engine
初始化程序'impressionist.model'do | app |
需要#{root} /app/models/impressionist/impressionable.rb
如果Impressionist.orm ==:mongo_id
需要印象派/模型/ mongo_id / impression.rb
需要印象派/模特/ mongo_id /印象派/印象派.rb
MongoId :: Document.plugin印象派::可印象
结束
结束

初始值设定项'impressionist.controller'do
ActiveSupport.on_load(:action_controller)do
include ImpressionistController :: InstanceMethods
extends ImpressionistController :: ClassMethods
end
end
end
end

第11行是 MongoId :: Document。插件Impressionist :: Impressionable



任何人都可以帮忙吗?谢谢

解决方案

在第11行

  MongoId :: Document.plugin Impressionist ::可压缩

应该是

  Mongoid :: Document.plugin印象派画家::可印象的

请注意大写字母 Mongoid


I'm trying adapt this gem, https://github.com/charlotte-ruby/impressionist to mongoid odm.

I have been seeing the commit for mongo_mapper in https://github.com/tute/impressionist/commit/1c3f809da8ebd3ced8cb9bda8caee89012091a10.

This is impression.rb model for mongoid:

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

After generate the file for mongoid fine:

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

I try run the server and I get this error:

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>'

In engine.rb file I have:

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

The line 11 is MongoId::Document.plugin Impressionist::Impressionable

can anyone help out? Thank you

解决方案

In line 11

MongoId::Document.plugin Impressionist::Impressionable

Should be

Mongoid::Document.plugin Impressionist::Impressionable

Note the capitalization of Mongoid.

这篇关于使印象派宝石适应mongoid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆