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