1
我有兩種模式:CreditCard和BlacklistItem :: CreditCard。如果我搜索了BlacklistItem ::信用卡式第一,我得到預期的行爲:ActiveRecord#找到錯誤的對象類別
>> BlacklistItem::CreditCard.find(:all).first
=> #<BlacklistItem::CreditCard id: 5, *snip* >
>>
如果我搜索了信用卡式第一,當我去尋找BlacklistItem ::信用卡式的項目後,我得到意外的行爲:
>> CreditCard.find(:all).first
=> #<CreditCard id: 2, key_id: 4, *snip* >
>> BlacklistItem::CreditCard.find(:all).first
(irb):2: warning: toplevel constant CreditCard referenced by BlacklistItem::CreditCard
=> #<CreditCard id: 2, key_id: 4, *snip* >
>>
我在做什麼錯?在他們之間有這種關係的名字是不可能的?我將重命名BlacklistItem :: CreditCard作爲解決方案,但它確實是此特定對象的最佳名稱。
你能告訴我們2個模型類嗎?這可能有助於弄清楚這裏發生了什麼。 – 2009-12-09 16:16:58
恐怕我不舒服地泄露我們如何存儲信用卡。只要說我們沒有以任何方式覆蓋#find即可。 – edebill 2009-12-09 16:22:51
另外,您可以直接調用'first',例如:'CreditCard.first'。 – 2009-12-09 16:32:56