2013-09-30 41 views
0

我創建了一個RoR應用程序。RoR隊列模型

但是當我添加一個名爲隊列新模式,這些出現這些錯誤:

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

這是隊列鋼軌或Ruby的保留字?怎麼了?

在此先感謝。

+1

請添加你的模型的代碼。 – hedgesky

回答

1

這不是保留字,但已經有一個類名爲:http://www.ruby-doc.org/stdlib-2.0/libdoc/thread/rdoc/Queue.html。這意味着當你調用Queue時,軌道constant_missing方法不會被觸發,並且你的新類沒有被加載。

有兩種解決方案。第一個顯而易見的是,重命名你的班級。第二個是刪除以前的定義:

Object.send(:remove_const, :Queue) 

在你的一個initailizers中。但請注意,如果您決定使用原始隊列,則稍後可能會產生誤導,並且如果您當前正在使用它,那麼它絕對不在表格中。

+0

要放置哪一個文件?我嘗試使用config/application.rb,但在某些請求引發同樣的錯誤之前。 –

+0

我只是添加初始化程序/ custom.rb qith這些代碼。多謝老兄! –