当前位置:  开发笔记 > 后端 > 正文

如何修复/调试'期望的x.rb来定义Rails中的X.rb'

如何解决《如何修复/调试'期望的x.rb来定义Rails中的X.rb'》经验,为你挑选了1个好方法。

我已经看到这个问题出现在许多不同的情况下,并希望获得在StackOverflow上修复/调试它的最佳实践.

为了使用现实世界的例子,我今天早上发现了这个例子:

expected announcement.rb to define Announcement

该类在开发,测试生产控制台方面表现良好,但在生产的Mongrel中失败了.这是班级:

class Announcement < ActiveRecord::Base
  has_attachment :content_type => 'audio/mp3', :storage => :s3
end

我想在答案中解决的问题并不是解决这个特定的问题,而是如何正确调试以使Rails给你一个有意义的错误,如预期的那样x.rb定义X.rb'通常是一个红色的鲱鱼.. .

编辑(到目前为止有3个很棒的回复,每个都有部分解决方案)

调试:

    来自Joe Van Dyk:尝试通过导致错误的环境/实例上的控制台访问模型(在上面的情况下:脚本/控制台生产然后键入'Announcement'.

    来自Otto:尝试通过初始化程序设置最小插件集,例如:config.plugins = [:exception_notification,:ssl_requirement,:all]然后一次重新启用一个.

具体原因:

    来自Ian Terrell:如果您使用attachment_fu,请确保安装了正确的图像处理器.即使您没有附加图像,attachment_fu也会要求它.

    来自Otto:确保您没有命名与内置Rails类冲突的模型,例如:Request.

    来自Josh Lewis:确保您的应用程序(或Gem列表)中某处没有重复的类或模块名称.

Joe Van Dyk.. 11

这是一个棘手的问题.

通常对我有用的是在生产服务器上运行"脚本/控制台生产",然后键入:

Announcement

这通常会给你一个更好的错误信息.但你说你已经尝试过了吗?



1> Joe Van Dyk..:

这是一个棘手的问题.

通常对我有用的是在生产服务器上运行"脚本/控制台生产",然后键入:

Announcement

这通常会给你一个更好的错误信息.但你说你已经尝试过了吗?

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有