今天早些時候,我有這個問題,當我運行模塊和類與Rails項目同名
sidekiq
我收到以下錯誤:
I, [2015-09-04T12:43:33.723243 #15197] INFO -- : Celluloid 0.17.1.2 is running in BACKPORTED mode. [ http://git.io/vJf3J ] Report is not a class /home/andreydeineko/employees/app/models/report.rb:1:in `<top (required)>'
但Report
是AR類/模型沒有任何錯別字。
它發生的錯誤是由於這樣的事實,即該項目有一個叫Report
先前定義的模塊。
爲什麼這個問題,相同的類和模塊名稱發生?
是否有任何Ruby/Rails約定不命名類和模塊同名?
*「之前定義了一個名爲Report的模塊。」* - 這是什麼意思?新老代碼是否有不同的流程? – Stefan
不在我運行sidekiq的那一刻。我不知道該項目有一個名爲「報告」的模塊(即使我知道我仍然會將我的班級命名爲「報告」,因爲我不知道這會導致問題)。當我定義的類「報告」與模塊「Report」無關時,sidekiq抱怨報告不是類。 –