我正在编写一个rails应用程序,其中有一些模块和方法通过lib目录加载,我们还在restful身份验证模块中添加了一些方法,现在每次当我在生产中使用mongrel服务器运行时我都不会收到此错误,尽管因为模型类和控制器类是缓存的,但在开发中我确实得到了这个错误,在第一次之后,所以我在开发时启动我的服务器并运行一次我得到正确的行为,但是当我刷新页面时我得到这个零。包含错误,虽然它显示每个方法得到一个nil迭代,我也做了一些功课,因为我添加了puts方法,对于迭代的那个实例的所有方法,我没有得到任何方法定义的属性表,ID,名称,标题。我不确定这个,
我正在使用Rails 2.2.2和ruby 1.8.7。 服务器是杂种&的WEBrick。
答案 0 :(得分:1)
您应该查看log / development.log或log / production.log文件(具体取决于您正在调查的环境)。 stacktrace的第一行显示错误的来源。尝试在那里找到错误或发布相关的行(这和上面的一些)。
答案 1 :(得分:1)
这种情况发生在我身上,我以前只是在刷新后才得到错误(即第二次调用服务器)。
可能是您在/lib
目录中定义了一个与文件命名的rails约定不匹配的模块。并且您正在使用require "filename.rb"
语句来获取模块。
请尝试使用require_dependency "filename.rb"
。
如果问题仍然存在,请告诉我们,我们可能会更深入了解。