1
這是一個奇怪的事情,我一直在遇到,我想知道如果人們可以給我幾個關於在哪裏尋找問題的指針。Rails發現沒有返回數據庫中存在的記錄
我正在做的是在模型上運行一個id查找。當我在一組記錄上運行它時,它們會按照預期返回該記錄。但還有另外100條記錄,我可以在數據庫(mysql)中看到,但運行find命令會返回ActiveRecord :: RecordNotFound異常。
如果我直接在數據庫中創建另一條記錄,我也無法拉出該記錄。但是,如果我在rails控制檯中執行新命令,那麼該記錄是可檢索的。如果我執行find_by_sql命令,則記錄是可檢索的。
我試過優化表,但除此之外,我有點難以理解會導致這種情況。我使用Ruby 1.8.7和本地機器上的MySQL gem運行Rails 2.3.12。任何想法可能的原因將不勝感激。謝謝!
編輯感謝指針 - 附加一個記錄器到我的控制檯實例,暴露了問題 - 一個被遺忘的default_scope,它限制了返回的內容。
檢查您的控制檯日誌和生成的SQL語句。 –
感謝您的指針 - 發現錯誤。 – timting