Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku-极慢的put请求更新_Ruby On Rails_Ruby On Rails 3_Heroku_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails Heroku-极慢的put请求更新

Ruby on rails Heroku-极慢的put请求更新,ruby-on-rails,ruby-on-rails-3,heroku,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Heroku,Ruby On Rails 3.2,我在Heroku的免费5gb空间上安装了一个简单的博客应用程序。当我发送get请求和post请求时,响应时间很快,我得到了响应 我的put请求也会发生同样的情况(在我的应用程序中指定的标准302重定向,在我的本地服务器上可以完美地工作)。然而,我的页面直到几分钟后才会更新新信息,有时是在实际页面上的几分钟后(~10-20分钟)。 更新我查看了我的heroku rails控制台,似乎那里的信息已经更新。我相信这可能是一个浏览器/缓存问题,但我不太清楚为什么? 我不太清楚为什么会这样。这是我的文章控

我在Heroku的免费5gb空间上安装了一个简单的博客应用程序。当我发送get请求和post请求时,响应时间很快,我得到了响应

我的put请求也会发生同样的情况(在我的应用程序中指定的标准302重定向,在我的本地服务器上可以完美地工作)。然而,我的页面直到几分钟后才会更新新信息,有时是在实际页面上的几分钟后(~10-20分钟)。

更新我查看了我的heroku rails控制台,似乎那里的信息已经更新。我相信这可能是一个浏览器/缓存问题,但我不太清楚为什么?

我不太清楚为什么会这样。这是我的文章控制器中的更新代码

def update
   @article = Article.find(params[:id])

    respond_to do |format|
    if @article.update_attributes(params[:article])
      format.html { redirect_to(@article, :notice => 'Article was successfully updated.') }
      format.xml  { head :ok }
    else
      format.html { render :action => "edit" }
      format.xml  { render :xml => @article.errors, :status => :unprocessable_entity }
    end
  end
end
根据请求,这里是我的尾部日志的PUT请求部分

2013-06-19T01:13:01.124408+00:00 app[web.1]: Started PUT "/articles/5-Literary-
 Compositions-" for 99.232.11.181 at 2013-06-19 01:13:01 +0000

2013-06-19T01:13:01.445438+00:00 heroku[router]: at=info method=POST path=/articles/5-
 Literary-Compositions- host=hidden-taiga-5779.herokuapp.com fwd="99.232.11.181" dyno=web.1 
connect=2ms service=516ms status=302 bytes=138


2013-06-19T01:13:01.443470+00:00 app[web.1]: Processing by ArticlesController#update as HTML

2013-06-19T01:13:01.443470+00:00 app[web.1]:  #post information was in here, large post


2013-06-19T01:13:01.443470+00:00 app[web.1]: 
Redirected to http://hidden-taiga-5779.herokuapp.com/articles/5-Literary-Compositions-


2013-06-19T01:13:01.443470+00:00 app[web.1]: Completed 302 Found in 279ms (ActiveRecord: 71.2ms)

我发现博客控制器中有一行:

cached_action :show
从文件中

动作缓存与页面缓存类似,因为响应的整个输出都被缓存,但与页面缓存不同,每个请求仍然通过动作包。这样做的主要好处是,过滤器在缓存服务之前运行,这允许对是否允许某人执行此类操作进行身份验证和其他限制


我把它拿出来了,它又能正常工作了。谢谢你的帮助。希望这篇文章也能帮助其他人

想添加到您的答案中,但我相信您可以在控制器上执行
缓存操作:show
,这只是正确设置的问题。我确实注意到了。不确定您是否阅读过这篇文章,但这篇文章向您展示了如何使用heroku MemCachier加载项设置应用程序。因为这本书将带你完全了解你需要知道的东西。但有些事情确实告诉我,您可能没有安装Memcahcier插件并对其进行配置。如果您没有这样做,那么请务必将
cached\u操作:show
放回您的blog\u控制器中,安装附加组件并检查结果。

您可以显示Heroku日志吗。运行heroku日志,这将显示可能发生的情况。从外观上看,我看不出你的
更新方法有什么问题。更新了原始的PostMay这是浏览器或缓存问题吗?在我的heroku rails控制台中,信息是正确的。谢谢,我会考虑重新添加它。读了这篇文章后,似乎添加插件可以缓解上述问题。