2013-08-07 38 views
1

我遇到了Rails應用程序的奇怪行爲。Rails - 僅在重新保存控制器後才顯示數據

我已經從Github下載了我的回購協議,併發起了一個開發數據庫。 現在,當我創建一個事件(多數民衆贊成的應用程序的目的),我看到它後,我按'創建'和瀏覽器去,說'事件/ 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上之前,我有它重新格式化代碼工作完美,所以我不認爲這是我的編碼(嗯,我希望)。這可能是什麼?謝謝。

+3

像這樣定義範圍在生產模式下將不起作用,因爲模型將被緩存,所以範圍將在加載時進行評估,Date.today也將被緩存,直到您重新啓動應用程序。將'order(...)'部分包裝在lambda中。我想這會導致你當前的設置出現問題。 – lawitschka

+0

你是對的!謝謝!不明白爲什麼它在我以前的版本上工作。再次感謝。 –

回答

1

謝謝lawitschka上述

定義這樣的範圍不會在生產模式下工作,因爲該模型將被緩存,那麼範圍將負載時間進行評估,並Date.today將被緩存,如好吧,直到你重啓你的應用程序。將訂單(...)部分包裝在lambda中。我想這會導致你當前的設置出現問題。

相關問題