2017-07-19 3 views
0

Rubyで外部の宝石からコントローラ内のクラスをインスタンス化する方法はありますか?Rubyで外部の宝石からクラスをインスタンス化する方法

例:私はこの宝石を私のGemfileに貼り付けました。 https://github.com/sportdb/sport.db/tree/master/sportdb-models/lib/sportdb/models

コントローラから、たとえばTeamを入力します。

https://github.com/sportdb/sport.db/blob/master/sportdb-models/lib/sportdb/models/team.rb

私はこのように実行しようとした場合:

def index 
    @foo = Team.first 
end 

このメッセージはoutputedさ:

初期化されていない一定のチーム

だから、右は何ですかこのクラスをインスタンス化する方法team.rb私のコントローラには?

おかげで、Rubyで

+3

だけではなく、 'SportDB :: Model :: Team.new'を使ってみましたか? – pdoherty926

答えて

0

あなたは名前空間内のモジュールやクラスを置くことができます。名前空間は、クラスを論理グループに編成して衝突を回避するのに役立ちます。たとえば、クラスに共通の名前(Teamなど)を提供する宝石を使用すると、自分のクラスや別の宝石のクラスと衝突する可能性があります。

TeamクラスはモジュールModelの内部にあり、モジュールSprtDbの内部にあります。したがって、あなたが使用すべき完全なクラス名はTeam

関連する問題