Rails - 仅在重新保存控制器后显示的数据

时间:2013-08-07 11:50:06

标签: ruby-on-rails ruby ruby-on-rails-4

我遇到了Rails应用程序的奇怪行为。

我从Github下载了我的repo,并启动了一个开发数据库。 现在,当我创建一个事件(这就是应用程序的目的)时,我会在按下“创建”并浏览器进入后再看一下,比如'events / 1'。

然而如果我导航到应该列出所有事件的主页面,则不会显示该事件,直到我重新保存我的控制器文件(我没有对其进行任何更改)。页面重新加载没有帮助。

我还应该提一下,在我以前的机器上一切正常。

这是我的控制器的一部分:

class EventsController < ApplicationController

  def index
    @events_future = Event.future_events
  end

范围

scope :future_events, order('start_date ASC').where('start_date >= ?', Date.today)

再次,在我重新格式化之前在同一台Mac上,代码工作得很完美,所以我不认为这是我的编码(好吧,我希望)。这可能是什么?感谢。

1 个答案:

答案 0 :(得分:1)

谢谢你上面的lawitschka

定义这样的范围在生产模式下不起作用,因为模型将被缓存,因此范围将在加载时评估,而Date.today也将被缓存,直到您重新启动应用程序。将订单(...)部分包裹在lambda中。我想这会导致你当前的设置出现问题。