带有Mongoid的Rails引擎

joe*_*yar 1 ruby ruby-on-rails rails-engines mongoid ruby-on-rails-3

我正在创建独立的rails引擎应用程序,它将使用mongoid进一步添加到主应用程序中.所以,我就是这样开始的.

rails plugin new some_engine --mountable --skip-active-record
Run Code Online (Sandbox Code Playgroud)

然后在gem文件中:

gem 'mongoid', "~> 3.0.15"
Run Code Online (Sandbox Code Playgroud)

然后我运行此命令来生成mongo配置文件:

some_engine\test\dummy>rails g mongoid:config
Run Code Online (Sandbox Code Playgroud)

在test/dummy/config文件夹下生成mongoid.yml

现在,如果我生成一些模型,它仍然会调用活动记录

some_engine>rails generate scaffold post title:string
Run Code Online (Sandbox Code Playgroud)

它给出了输出:

 invoke  active_record
 create    db/migrate/20121219170013_create_some_engine_posts.rb
...........
Run Code Online (Sandbox Code Playgroud)

然后我更改了脚本/ rails文件夹下的rails文件,因为它具有:

require 'rails/all'
Run Code Online (Sandbox Code Playgroud)

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)

然后,如果我生成的东西,它仍然不会调用mongoid

some_engine>rails generate model post
Run Code Online (Sandbox Code Playgroud)

这里什么都没发生.

当我跑的时候

some_engine>rails generate scaffold post title:string

 invoke  resource_route.....
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一些使用Rails引擎的mongoid的东西吗?

ast*_*ohn 7

听起来像mongoid仍然没有加载.对不起,我没有时间重现.如果您在engine.rb文件中明确要求mongoid会发生什么?