我是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)>'
答案 0 :(得分:3)
你的代码......搞砸了。你是什么意思Movie @movie
?你究竟想做什么?
除非您已将Movie
声明为某个方法,否则这段代码无效。但电影应该是一个班级,对吗?所以这是Rails没有加载你的movie.rb
文件的第一个原因,因为Ruby对你的代码意味着什么感到困惑。
也许你的意思是
@movie = Movie.new
这样的东西应该自动加载你的movie.rb
,因为现在代码是有道理的。
但是...
Movie @movie
..没有任何意义..