1

Rails アプリケーションで奇妙な動作が発生しています。

Github からリポジトリをダウンロードし、開発データベースを開始しました。イベントを作成すると (それがアプリの目的です)、'Create' を押した直後にそれを見ることができ、ブラウザは '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 で、コードは完璧に機能したので、それが私のコーディングではないと思います (まあ、そう願っています)。これは何ですか?ありがとう。

4

1 に答える 1

1

上記のlawitschkaに感謝します

モデルがキャッシュされるため、このようなスコープの定義はプロダクション モードでは機能しません。そのため、スコープはロード時に評価され、アプリケーションを再起動するまで Date.today もキャッシュされます。order(...) 部分をラムダでラップします。それがあなたの現在の設定に問題を引き起こしていると思います。

于 2013-08-07T12:10:10.597 に答える