2011-08-07 10 views
0

RubyとRailsが新しく、/ libのクラスを/ libの別のクラスを参照するのに問題があります。/lib内の別のクラスのRails 3/libディレクトリにクラスファイルを要求する方法

私はRailsの3は、libディレクトリを自動ロードしない理解して私は、私のapplication.rbファイルでこれを持っている:

config.autoload_paths += %W(#{config.root}/lib) 

その後、私はlibに/ Rec.rb

class Rec 
    Movie @movie 
... 

を持っていますlib/Movie.rbを選択します。私は、コントローラ内のムービーオブジェクトをインスタンス化することですが、録音中に参照して生成します。

undefined method `Movie' for Rec:Class 
... 
lib/rec.rb:2:in `<class:Rec>' 
lib/rec.rb:1:in `<top (required)>' 

答えて

3

あなたのコードがある...めちゃくちゃ。あなたはMovie @movieを意味しますか?あなたは正確に何をしたいですか?

Movieをどこかの方法として宣言していない限り、そのコードは無効なRubyです。しかし、ムービーはクラスでなければなりませんか? Rubyがコードの意味を混同しているため、Railsがmovie.rbファイルをロードしていない最初の理由です。

は、たぶん、あなたが何を意味するか、今のコードは、理にかなっているので、そのようなことは、あなたのmovie.rbを自動ロードする必要があり

@movie = Movie.new 

です。

しかし...

Movie @movie 

は何の意味も..doesn't ..

+1

あなたの評価が正しいと、私の構文は、問題を引き起こしていました。私が言及したように私はRubyには新しく、この問題は静的型言語で型を指定するという私の習慣によるものでした。 –

+0

問題ありません。あなたはそれがうまく機能しているといいです。 – Casper

関連する問題