【发布时间】:2008-09-18 15:55:46
【问题描述】:
我已经看到这个问题在许多不同的情况下出现,并希望获得在 StackOverflow 上修复/调试它的最佳实践。
举一个我今天早上想到的现实世界的例子:
expected announcement.rb to define Announcement
该类在开发中运行良好,从生产控制台测试和,但在生产 Mongrel 中失败了。这是课程:
class Announcement < ActiveRecord::Base
has_attachment :content_type => 'audio/mp3', :storage => :s3
end
我想在答案中解决的问题与其说是解决这个特定问题,不如说是如何正确调试以使 Rails 像预期的那样为您提供有意义的错误 x.rb to define X.rb' 通常是红色的鲱鱼...
编辑(到目前为止 3 个很好的响应,每个都有部分解决方案)
调试:
-
来自 Joe Van Dyk:尝试通过导致错误的环境/实例上的控制台访问模型(在上述情况下:脚本/控制台生产,然后输入“公告”。
-
来自 Otto:尝试通过初始化程序设置一个最小插件集,例如:config.plugins = [ :exception_notification, :ssl_requirement, :all ] 然后一次重新启用一个。
李>
具体原因:
来自 Ian Terrell:如果您使用的是 attachment_fu,请确保安装了正确的图像处理器。即使您没有附加图片, attachment_fu 也会需要它。
来自 Otto:确保您没有命名与内置 Rails 类冲突的模型,例如:Request。
来自 Josh Lewis:确保您的应用程序(或 Gem 列表)中没有重复的类或模块名称。
【问题讨论】:
-
我在生产中的 rake 任务也遇到了同样的问题。这是我找到的最佳解决方案:spacevatican.org/2008/12/28/when-cache_classes-gets-you-down
标签: ruby-on-rails ruby