モジュール: Mongoid::Loadable

次のドキュメントに含まれます。
Mongoid
定義:
lib/mongoid/loadable.rb

Overview

Mongoid がすべての定義されたモデルをオートロードする方法を定義します。

定数の概要の削減

DEFAULT_MODEL_PATHS =

モデル クラスを検索する必要があるパスのデフォルトのリスト。 Rails が存在する場合は、代わりにアプリ/モデル パスが使用されます。 ( #model_paths を参照してください)。

%w( ./app/models ./lib/models ).freeze

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

# load_model (file) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

モデルの ファイルをロードするための便利な方法。 Rails の 'require_dependency` メソッドが存在する場合は、それが使用されますそれ以外の場合は、`require` が使用されます。

例:

モデルをロードします。

Mongoid.load_model("/mongoid/behavior")

パラメーター:

  • ファイル ( string )

    基本ファイル名。



50
51
52
53
54
55
56
# ファイル 'lib/mongoid/loadable.rb', 行50

デフォルト load_model(ファイル)
  場合 定義済み?(require_dependency)
    require_dependency(ファイル)
  else
    が必要(ファイル)
  end
end

# load_models (paths = model_paths) =オブジェクト

モデルパスのリストを検索してすべてのモデルを取得し、それを要求することで、インデックスと継承が開発と本番の両方で同じ結果で動作します。

例:

デフォルトのモデル パスからすべてのアプリケーション モデルをロードします。

Mongoid.load_models

すべてのアプリケーションモデルを非標準のパスのセットからロードします。

Mongoid.load_models(%w( ./models ./admin/models ))

パラメーター:

  • path 配列 (デフォルトはmodel_paths )_

    モデル ファイルを参照する必要があるパスのリスト。 これらは絶対パスであるか、現在の作業ディレクトリに対する相対パスである必要があります。



26
27
28
29
30
31
32
33
34
35
36
37
38
# ファイル 'lib/mongoid/loadable.rb', 行26

デフォルト load_models(path = model_paths)
  path. 行う |path|
    場合 preload_models.サイズ変更可能か
      ファイル = preload_models.map { |モデル| " " }
    else
      ファイル = Dir.グローバル(" #{ path } /**/*.rb ")
    end

    ファイル.sort. 行う |ファイル|
      load_model(ファイル.gsub(/^#{path}\// , " ").gsub(/\.rb$/, " "))
    end
  end
end

model_paths(モデルパス)= Array#<String>

アプリケーションのモデル定義が配置されているパスの配列を返します。 Rails がロードされている場合、これはデフォルトで構成されたアプリ/モデルのパス(例: ' config.paths ') それ以外の場合は、デフォルトで `%w(./app/models ./lib/models)` になります。

これらのパスは、モデルが配置されるディレクトリ階層のルートであることに注意してください。これらのルート パスが '$LOAD_PATH' にある限り、すべてのサブディレクトリを指定する必要はありません。

次の値を返します。

  • <String>配列未満

    モデルパスの配列



68
69
70
71
72
# ファイル 'lib/mongoid/loadable.rb', 行68

デフォルト model_paths
  @model_paths ||= 定義済み?(Rails) ?
    Rails.アプリケーション.config.path[" app/models "].展開 :
    DEFAULT_MODEL_PATHS
end

model_paths= (パス) ====================================================

指定されたパスの配列へのモデルパスを設定します。 これらは、アプリケーションのモデル定義が配置されるパスです。

パラメーター:

  • path <String>配列未満

    モデルパスのリスト



78
79
80
# ファイル 'lib/mongoid/loadable.rb', 行78

デフォルト model_paths=(path)
  @model_paths = path
end