2

アプリケーションのビジネス ロジックを記述しようとしています。すべてRubyクラスです。データベースも、Rails や Sinatra のような UI フレームワークもありません。ビジネス ロジックには Gem_file しかなく、Gem_file には「mini_test」gem のみが含まれています。ビジネス ロジックのテストには mini_test を使用します。ここで、システムにデータベースを追加する必要があります。これどうやってするの?Railsではapplication.fileでmongoidの設定を行います。ただし、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
4

2 に答える 2

1

gem 'mongoid'Gemfileに含めてインストールする必要があります。その後、必要な場所で 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
于 2013-04-05T11:32:09.753 に答える
0

Gemfileに追加gem "mongoid", "~> 3.0.0"してから、構成 yaml ファイルを次のような内容でプロジェクトに配置します。

development:
  sessions: 
    default:
      database: mongoid
      hosts:
        - localhost:27017

次にMongoid.load!("path/to/your/mongoid.yml", :development)、アプリで使用します。

オブジェクトをDBに保存したいすべてのクラスで、include Mongoid::Document.

したがって、あなたの例は次のようになります。

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

次に行うことについては、 mongoid のドキュメントを確認することをお勧めします。

于 2013-04-05T11:35:10.513 に答える