Я использую кеш redis для получения данных в моих приложениях rails. Проще говоря, я могу сказать, что у меня есть два приложения: первое основано на направляющих 4 , а второе - на направляющих 6 . Я должен использовать данные кэша в обоих приложениях.
В приложении rails 4 : - Я создал кэш в приложении rails 4 и успешно извлек данные.
Rails.cache.fetch("test_cache"){User.last}
=> #<User id: 100973, email: "xxxx.com", encrypted_password: "$2a$10$D8aOhoSWvNWeEQE2swAX2OEVIF5H0aY8sR/fGVQ3BhU...........>
В приложении rails 6 : - Но когда я хочу загрузить тот же кеш в мое приложение rails 6, возникает ошибка.
Rails.cache.fetch("test_cache"){User.last}
Traceback (most recent call last):
2: from (irb):18
1: from (irb):18:in `rescue in irb_binding'
NameError (uninitialized constant ActiveRecord::AttributeSet)
Did you mean? ActiveRecord::Attributes
Затем я пришел к одному решению, сохранить данные с помощью as_json
Rails.cache.fetch("test_cache"){User.last.as_json}
, которые успешно работают и извлекли данные в обоих приложениях, но у меня возникает еще одна проблема, как я могу получить доступ к model methods, associations etc etc...
для одного и того же.
Любое предложение или идея?