2009-03-25 3 views
0

github readmeごとにnkallenのキャッシュマネージェムをインストールしました。私はテスト中にRecordNotFoundの例外を実行します。 config/initializers/cache-money.rbの内容をコメントアウトすると、テストは正常に動作します。私のcache-money.rbファイルはgithub命令のファイルと同じです。ここでレールの設定に関する問題gk nkallen-cache-money(0.2.5):findメソッドでRecordNotFound例外を取得します

は私のconfig/memcached.ymlの内容は次のとおりです。 開発: TTL:604800 名前空間:キャッシュ - #{RAILS_ENV} セッション:偽 デバッグ:真 サーバ:localhostを:11211

テスト: TTL:604800 名前空間:キャッシュ - #{RAILS_ENV} セッション:偽 デバッグ:真 サーバ:localhostを:11211

生産: TTL:604800 名前空間:キャッシュ - #{RAILS_ENV} セッション:偽 デバッグ:偽 サーバ:localhostを:11211

私はキャッシュマネーの構成やインストール方法についての他のドキュメントを見つけることができません。私は、これをデバッグするための洞察や助けに感謝します。前もって感謝します!

+0

私は実際にあなたのブログでこれを見ました:)おそらくそれは私のmemcached.ymlにありますか?私は新しいmemcachedを設定し、memcacheの設定をいくつかの場所に散らばっています。単一のymlファイルまたは環境ファイルで構成を分離していますか?あなたの設定は何ですか?あなたの時間をもう一度ありがとう。 –

答えて

2

私は/config/initializers/cache_money.rbに私のキャッシュマネーの設定を置く:

if RAILS_ENV != 'development' 
    require 'cache_money' 

    config = YAML.load(IO.read(File.join(RAILS_ROOT, "config", "memcached.yml")))[RAILS_ENV] 
    $memcache = MemCache.new(config) 
    $memcache.servers = config['servers'] 

    $local = Cash::Local.new($memcache) 
    $lock = Cash::Lock.new($memcache) 
    $cache = Cash::Transactional.new($local, $lock) 

    class ActiveRecord::Base 
    is_cached :repository => $cache 
    end 
else 
    # If we're in development mode, we don't want to 
    # deal with cacheing oddities, so let's overrite 
    # cache-money's #index method to do nothing... 
    class ActiveRecord::Base 
    def self.index(*args) 
    end 
    end 
end 

他の設定は必要ではなかったです。これは私にとって素晴らしい作品です。

+0

シンプルなモデルであっても、すべてのクエリが失敗したため、設定上の問題に似ています。 –

関連する問題