无框架ruby上的mongoid配置

无框架ruby上的mongoid配置,ruby,mongodb,mongoid,minitest,Ruby,Mongodb,Mongoid,Minitest,我尝试编写应用程序的业务逻辑。这些都是ruby类。没有像Rails、Sinatra这样的数据库或UI框架。我只有一个关于业务逻辑的Gem_文件,Gem_文件只包含“mini_test”Gem。我使用mini_测试来测试业务逻辑。现在,我需要向系统添加一个数据库。我该怎么做? mongoid配置是在Rails上的application.file中进行的。但是,我不使用Rails或任何其他框架。在没有Rails、Sinatra等框架的情况下,mongoid是否可以进行配置。 我希望我能解释我的问题。

我尝试编写应用程序的业务逻辑。这些都是ruby类。没有像Rails、Sinatra这样的数据库或UI框架。我只有一个关于业务逻辑的Gem_文件,Gem_文件只包含“mini_test”Gem。我使用mini_测试来测试业务逻辑。现在,我需要向系统添加一个数据库。我该怎么做? mongoid配置是在Rails上的application.file中进行的。但是,我不使用Rails或任何其他框架。在没有Rails、Sinatra等框架的情况下,mongoid是否可以进行配置。 我希望我能解释我的问题。此外,我在下面添加了我的代码:

这是我的背景-

class HeadTeacherDefineAcademicYearContext
  attr_reader :person, :academicyear

  def initialize(person, academicyear)
    @person, @academicyear = person, academicyear
    @person.extend HeadTeacher
  end

  def call
   @person.define_academic_year @academicyear
  end
end
这是我的角色模块

module HeadTeacher
  def define_academic_year(academicyear)
     #i write db save process here using any database
  end
end
我的模型课

class AcademicYear
  attr_accessor :year
end

您必须在gem文件中包含
gem'mongoid'
,然后安装它。之后,您可以在需要的地方要求并初始化Mongoid:

require 'mongoid'
Mongoid.load!("mongoid.yml", :development)
它需要一个带有配置的
mongoid.yml
文件。例:

development:
   sessions:
     default:
      database: myapp_development
      hosts:
        - localhost:27017
当然,您可以使用另一个上下文而不是
:development
,也可以通过环境变量来分配它。现在,将
Mongoid::Document
添加到您的模型中:

class AcademicYear
  include Mongoid::Document

  field :year, type: Integer
end
gem“mongoid”、“~>3.0.0”
添加到您的gem文件中 然后将配置yaml文件放入项目中,内容如下:

development:
  sessions: 
    default:
      database: mongoid
      hosts:
        - localhost:27017
然后使用
Mongoid.load!(“path/to/your/mongoid.yml”,:development)
在应用程序中

在要将对象保存到DB的每个类中,都必须
包含Mongoid::Document

因此,您的示例变成:

class HeadTeacherDefineAcademicYearContext
  attr_reader :person, :academicyear
  field :person, type: String
  field :academicyear, type: Date
  ...
end

你应该做好下一步的工作。

关于mongoid.yml,我想问一件事。在哪里添加mongoid.load命令?我没有框架,没有关于应用程序启动的文件。我只有Gemfile和纯Ruby类。