0

如何防止缓存异常?我有这个动作:

caches_page :index
...
def index
  if params[:city]
    city = City.find(params[:city])
    @shows = city.shows
  else
    @shows = Show.all
  end
...

如果 find 因 ActionRecord::RecordNotFound 崩溃而没有缓存 - 没关系。但我也不希望在我的日志文件中出现这个异常。但如果我:

  begin
    city = City.find(params[:city])
  rescue ActiveRecord::RecordNotFound
    render :nothing => true
    return
  end

空页缓存!

在这种情况下我应该怎么做?

4

1 回答 1

0

尝试 :

caches_page :index, :if => :city_exists?

private

def city_exists
  city = City.find(params[:city])
  !city.nil? ? true : false
end

而且我认为您可以使用动作缓存片段缓存

查看扩展缓存的详细信息。

于 2012-04-04T06:34:45.040 回答