Я использую Rails 3.0.5 с Ruby 1.9.2 для приложения.В моем режиме разработки я настроил кэширование ON.
config.action_controller.perform_caching = true
config.cache_store = :file_store, "#{Rails.root.to_s}/tmp/cache"
И в одном из действий у меня есть эта строка кода,
@featured_players = Rails.cache.fetch("featured-players") { Player.featured(8) }
Приведенная выше строка возвращает следующую ошибку
TypeError (no marshal_dump is defined for class Mutex):
activesupport (3.0.5) lib/active_support/cache/file_store.rb:100:in `dump'
activesupport (3.0.5) lib/active_support/cache/file_store.rb:100:in `block in write_entry'
activesupport (3.0.5) lib/active_support/core_ext/file/atomic.rb:20:in `atomic_write'
activesupport (3.0.5) lib/active_support/cache/file_store.rb:100:in `write_entry'
activesupport (3.0.5) lib/active_support/cache/strategy/local_cache.rb:135:in `write_entry'
activesupport (3.0.5) lib/active_support/cache.rb:364:in `block in write'
activesupport (3.0.5) lib/active_support/cache.rb:519:in `instrument'
featured
- это метод класса модели Player, который возвращает массив игроков в результате запроса базы данных.Это просто старый массив.
В чем, похоже, ошибка ... Я попробовал несколько подходов, чтобы проанализировать это, но ни один из них не сработал.пожалуйста помогите