【问题标题】:Using _url Absolute Links with ActionController full page caching使用带有 ActionController 整页缓存的 _url 绝对链接
【发布时间】:2013-02-23 00:52:25
【问题描述】:

我们有一个 rails 3 应用程序 (3.2.12),我们希望在其上实现全页缓存(使用 ActionController caches_page

我们在应用程序的任何地方都使用_url url 助手,这导致所有缓存页面(生产中)中的链接都具有域:http://0.0.0.0/

我们在几个需要链接域的页面上有规范链接,因此我们无法轻松切换到_path url 助手。

我搜索了 Google 和 StackOverflow,但找不到答案。

我没有将任何选项传递给caches_page

页面基本上是这样的:

class SomeController < ApplicationController
  caches_page :index, :other_action

  def index
  end

  def other_action
  end
end

如何使生成的缓存页面中的链接具有正确的域?

【问题讨论】:

  • 您使用的是什么网络服务器?您将哪些选项传递给 cache_page?查看代码会有所帮助。
  • @BenjaminSullivan 我们正在运行 Apache 的 Phusion Passenger。我没有将任何选项传递给caches_page

标签: ruby-on-rails ruby-on-rails-3 caching actioncontroller


【解决方案1】:

也许您正在本地缓存页面(将它们写入“公共”目录),然后将包括“公共”目录在内的所有内容部署到生产站点,从而从生产中提供开发页面。

【讨论】:

  • 这不会发生。当我对日志执行 tail -f 时,我可以看到缓存页面在第一次命中时生成。当我删除缓存页面时,下一次点击会重新创建它。
  • 好吧,也许其他人会有见解。我很好奇一个几乎为空的控制器会发生什么,其中一个操作设置为 caches_pages 和一个正常操作,以及他们视图中的一个 p foo_url(Foo.all.first),只是为了绝对确定这是一个缓存问题。
猜你喜欢
  • 2013-03-20
  • 2019-12-05
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
  • 2011-10-12
相关资源
最近更新 更多