Это отличный вопрос, с которым большинству разработчиков Rails в какой-то момент приходилось иметь дело. Я пытался загрузить все в константу при загрузке. Я также пытался использовать Memcached или Redis с плагином, таким как cached_model или cache_fu , и автоматически заполнял кеш при загрузке приложения. Однако эти подходы работают только для поиска отдельных объектов и вообще не интегрируются с ActiveRecord (например, не работают с ассоциациями), как я уверен, вы заметили.
Существует очевидный рынок для плагина Memcached / Redis с улучшенной интеграцией ActiveRecord, но это звучит как очень сложное мероприятие, поэтому я не думаю, что мы скоро что-нибудь увидим.
Ухудшение ситуации связано с тем, что, если вы предварительно загружаете много данных, вы, вероятно, не захотите делать это при каждом запросе в среде разработки, чего трудно избежать, потому что модели ленивы. загружается (и перезагружается при каждом запросе) в разработке, и, вероятно, вам нужна модель для загрузки данных. Это означает, что хорошее решение должно быть тесно интегрировано с ActiveRecord, чтобы оно работало независимо от того, поступают ли данные из БД или из кэша (если вы не загружаете их в процессе разработки).
В любом случае, извините за многословный отказ от ответа, но я думаю, что обсуждение может быть лучшим, что мы можем сделать на данный момент.
Надеюсь, я ошибаюсь. Кто-нибудь?