在我的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