1

我的 Rails 应用程序出现了奇怪的行为。

我已经从 Github 下载了我的 repo,并启动了一个开发数据库。现在,当我创建一个事件(这就是应用程序的目的)时,我可以在按下“创建”并且浏览器转到“事件/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 上运行完美,所以我不认为这是我的编码(嗯,我希望如此)。这可能是什么?谢谢。

4

1 回答 1

1

Thank you lawitschka above

Defining the scope like this won't work in production mode, since the model will be cached, so the scope will be evaluated on load time and Date.today will be cached, as well, until you restart your application. Wrap the order(...) part in a lambda. I guess that's causing problems in your current setup.

于 2013-08-07T12:10:10.597 回答