Rob*_*ert 3 scope model passenger production-environment ruby-on-rails-3
我的应用程序在生产中运行时遇到了一个非常奇怪的问题.
我有下面的表Qrtable,它包含144条记录,每条记录的代码字段和时间字段递增10分钟.
然后我有这个范围
scope :current, where("time > ? and time <= ?", Time.now-14.minutes, Time.now+5.minutes)
Run Code Online (Sandbox Code Playgroud)
此范围的作用是收集时间范围内的记录,并返回第一个和最后一个记录.它返回1或2条记录.每隔5分钟左右,它所记录的记录就会发生变化.
在我看来,我只是打印第一个和最后一个记录的内容.
="#{Qrtable.current.last.code} for time #{Qrtable.current.first.code}"
Run Code Online (Sandbox Code Playgroud)
所以现在发生这种情况.我在笔记本电脑上运行这个开发环境.每隔5分钟,我刷新代码更改的页面.但我的生产是在托管服务器上运行,当我刷新页面时,代码不会改变.
我还注意到,当我进行上限部署时,这将重新启动服务器并且代码第一次更新,但之后我的范围不会随着刷新页面而改变.只是想知道是否有人有任何想法或曾经遇到过这个.
我尝试过多次刷新Apache.
Rom*_*man 11
它不会.它在评估类时进行评估.使用:
scope :current, lambda {where("time > ? and time <= ?", Time.now-14.minutes, Time.now+5.minutes)}
Run Code Online (Sandbox Code Playgroud)