在我的Rails應用程序3.0.11,我們有一個控制器非常簡單的代碼:控制器中的Rails異常執行查詢實例變量?
def index
@record = Record.valid # scope around 80,000 records
asdfasdfsa # consider this is a typo to raise NameError Exception
end
有趣的是,當它來到了錯字,應用程序似乎查詢/執行@record實例變量首先提出例外。查詢花費將近1分鐘以獲取記錄。所以在瀏覽器中,頁面在進入異常模板之前會長時間掛起。
如果我用局部變量「record」替換@record,查詢根本不會發生。任何人都知道它發生了什麼?
這是什麼意思'正常變量'記錄''? –
我應該叫它局部變量,而不是有@record = Record.valid,我們分配記錄= Record.valid – aquajach
你使用某種異常通知寶石?如果沒有錯字,也沒有異常提出,它應該仍然掛起很長一段時間,或者當異常提出時掛起更長時間? (假設你的視圖用'@ record'做了一些事情,並且在正常情況下檢索數據)。 – nathanvda