1

初めてmongoidを設定して使用しようとしています。mongoid.yml構成ファイルを次のように設定しました。

ホスト:ローカルホスト

データベース:テーブル

と私のコード:

  Mongoid.load!("/mongoid.yml") 
  class Data        
    include Mongoid::Document
    field :study, type: String
    field :nbc_id, type: String
    field :short_title, type: String
    field :source, type: String
    field :start_date, type: Date
  end

  puts Data.study

エラーが発生し続けます:

NoMethodError at/未定義のメソッド`study'forData:Class

'test'というコレクション名を指定していないからだと思います。ただし、これを行う方法の例は見つかりません。.ymlファイルまたはコードで指定しますか?正しい構文は何ですか。誰かが私を正しい方向に向けることができますか?

Tx。

4

1 に答える 1

2

Mongoid のドキュメントによると、「デフォルトでは、Mongoid はクラス名の複数形であるコレクションにドキュメントを格納します。次の Person クラスでは、ドキュメントが格納されるコレクションは people という名前になります。」 http://mongoid.org/docs/documents.html

ドキュメントは、Mongoid が呼び出されたメソッドを使用してActiveSupport::Inflector#classifyコレクション名を決定し、複数形を自分で指定する方法について説明していると述べています。

または、クラス定義に「store_in」を含めて、クラスでコレクション名を指定することもできます。

class Data        
    include Mongoid::Document
    store_in :test

お役に立てれば!

于 2012-04-20T22:00:42.810 に答える