同じRailsアプリを使用していますが、ドメイン名が多く、UIがわずかに異なります。ドメインごとに異なるロケール(en、es、frなど)が存在する場合があります。
コントローラcaches_pageのすべてのオブジェクトをキャッシュするために使用します。サブドメインの代わりにドメインとロケールで動作するように少し変更を加えて、このソリューションusersを試しました。
  def self.page_cache_path(path,extension)  
    MyApp::Application.config.action_controller.page_cache_directory + '/cache' + @root_site.to_s + "/" + path + extension
  end
  def cache_page(content = nil, options = nil, gzip = Zlib::BEST_COMPRESSION)
    path = [@root_site, I18n.locale].join("/") # nil would add slash to 2 ends
    path << case options
    when Hash
      url_for(options.merge(:only_path => true, :skip_relative_url_root => true, :format => params[:format]))
    when String
      options
    else
      if request.path.empty? || request.path == '/'
        '/index'
      else
        request.path
      end
    end
    super(content, path, gzip)
  end
このコードは、ドメイン名を最初のフォルダーとして配置して、キャッシュファイルを正常に書き込んでいるようです。
Write page /Users/user/Sites/myapp/public/cache/domain1.com/en/users/john.html (1.7ms)
Completed 200 OK 
私が見る問題は、キャッシュされたページにアクセスしたときにキャッシュを取得していないことです。
Started GET "/users/john" for 127.0.0.1 at 2013-01-16 19:04:18 -0200
Processing by UsersController#show as HTML
...
Write page /Users/user/Sites/myapp/public/cache/domain1.com/en/users/john.html (1.7ms)
Completed 200 OK 
私のusersコントロールでは、私は単にこれを持っています
caches_page :show
キャッシュファイルからの読み取りを妨げているものとその解決方法を知っている人はいますか?