如何从/ lib中的另一个类要求Rails 3 / lib目录中的类文件

时间:2011-08-07 23:11:02

标签: ruby ruby-on-rails-3

我是Ruby和Rails的新手,并且无法在/ lib中获取类来引用/ lib中的另一个类。

我在application.rb文件中有这个,据我所知Rails 3没有自动加载lib目录:

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

然后我有lib / Rec.rb

class Rec
  Movie @movie
...

然后是lib / Movie.rb。我能够在控制器中实例化一个Movie对象,但在Rec中引用会产生:

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

1 个答案:

答案 0 :(得分:3)

你的代码......搞砸了。你是什​​么意思Movie @movie?你究竟想做什么?

除非您已将Movie声明为某个方法,否则这段代码无效。但电影应该是一个班级,对吗?所以这是Rails没有加载你的movie.rb文件的第一个原因,因为Ruby对你的代码意味着什么感到困惑。

也许你的意思是

@movie = Movie.new

这样的东西应该自动加载你的movie.rb,因为现在代码是有道理的。

但是...

Movie @movie

..没有任何意义..