RoR队列模型

时间:2013-09-30 11:55:30

标签: ruby-on-rails ruby model arel

我创建了一个RoR应用程序。

但是当我添加名为队列的新模型时,会出现以下错误:

ActionView::Template::Error (undefined method `arel_table' for Queue:Class):

队列是rails还是ruby的保留字?怎么了?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这不是保留字,但已经有一个具有该名称的类:http://www.ruby-doc.org/stdlib-2.0/libdoc/thread/rdoc/Queue.html。这意味着当您调用Queue时,不会触发rails constant_missing方法,并且您的新类未被加载。

有两种解决方案。第一个很明显,重命名你的班级。第二个是删除以前的定义:

Object.send(:remove_const, :Queue)

在你的一个启动器中。但请注意,如果您决定使用原始队列,这可能会在以后产生误导,如果您当前正在使用它,则完全不在桌面上。