我在我的Rails應用程序中使用了幾個持久輪胎模型。搜索一直做工精細,用Tire.search ['index1','index2'], :load => true do ...
但我現在做了一個新的指標和模型,並試圖將其包括在搜索時,我收到以下錯誤並訪問其結果:輪胎寶石:undefined方法`檢測'
undefined method `detect' for #<AuthoredHistory:0x000001013d6a88>
我看到它是從輪胎來::結果::收藏#結果,在下跌的最後一行:
@response['hits']['hits'].map { |item| records[item['_type']].detect { |record| record.id.to_s == item['_id'].to_s } }
出於某種原因records[item['_type']]
返回一個輪胎::結果:: Collection對象爲我的其他車型,但隨着新的類,它返回一個AuthoredHistory對象,這是我的實際模型類。我在gem的github頁面上看到了一些關於此的內容,但我沒有對Tire.configuration.wrapper做任何事情。我在所有索引模型中都包含了持久性,搜索和回調模塊。
我錯過了什麼嗎?有人可以請指點我正確的方向嗎? (果報工作者,我希望你能救我在這裏!)
[更新]
現在我得到的地方......當從一個特定的指數只有1個結果與返回的錯誤發生在結果。如果索引中有2個或更多結果,則將其包含在Tire :: Results :: Collection中。現在找一個黑客...
[再次更新]
哈克解決方案找到了!看下面的答案...
這絕對是合理的邏輯..但使用這會導致更多的錯誤。不確定這是否是解決方案,因爲所涉及的產品線包含在寶石中? –