Rails 2.3.4 アプリと次のような行があります。
temp = Rails.cache.fetch(:temp_id) { User.find_by_name('Temp').id }
environment.rb に以下を追加して、キャッシュ層を memcached に切り替えることにするまで、すべてがうまくいきました。
config.cache_store = :mem_cache_store
以前は正常に機能していた行で、次のエラーが表示されます。
undefined method 'length' for :temp_id:Symbol
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb:645:in 'get_server_for_key'
私はエラーを理解していますが、この一般的なケースは Rails のテスト ケースによってすぐに発見されると思います。それ以外の場合は、この問題にモンキーパッチを適用して、シンボルを文字列に変換できると確信しています。
ありがとう