简体   繁体   English

带有Mongoid的Rails引擎

[英]Rails Engine with Mongoid

I'm creating standalone rails engine application which will be further added to main application, using mongoid. 我正在创建独立的Rails Engine应用程序,它将使用mongoid进一步添加到主应用程序中。 So, I started like this. 所以,我开始是这样。

rails plugin new some_engine --mountable --skip-active-record

Then in the gem file: 然后在gem文件中:

gem 'mongoid', "~> 3.0.15"

Then I run this command for generating mongo config file: 然后我运行以下命令生成mongo配置文件:

some_engine\test\dummy>rails g mongoid:config

which generate mongoid.yml under test/dummy/config folder 在test / dummy / config文件夹下生成mongoid.yml

Now if I generate some model it's still invoking active record 现在,如果我生成一些模型,它仍在调用活动记录

some_engine>rails generate scaffold post title:string

it gives output: 它给出输出:

 invoke  active_record
 create    db/migrate/20121219170013_create_some_engine_posts.rb
...........

Then I change the rails file under script/rails folder as it's having: 然后我更改script / rails文件夹下的rails文件,因为它具有:

require 'rails/all'

to

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"

Then if I generate something it still not invokes mongoid 然后,如果我生成某些东西,它仍然不会调用蒙古

some_engine>rails generate model post

Nothing happens here. 这里什么都没有发生。

Also when I run 当我跑步时

some_engine>rails generate scaffold post title:string

 invoke  resource_route.....

Is that I'm missing something here to use mongoid with Rails Engine? 我是否在这里缺少在Rails Engine中使用Mongoid的功能?

It sounds like mongoid still isn't loaded. 听起来好像还没有加载蒙古包。 I'm sorry, but I don't have time to reproduce. 对不起,我没有时间再生产。 What happens if you explicitly require mongoid in the engine.rb file? 如果您在engine.rb文件中明确要求使用蒙古包,该engine.rb办?

In Rails 4 if we do not need active_resource.The generated plugin app has rails modules loaded in bin/rails. 在Rails 4中,如果我们不需要active_resource,则生成的插件应用程序会在bin / rails中加载Rails模块。


require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
require "mongoid"
require 'rails/engine/commands'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM