Сначала вы можете просмотреть API Rails. В большинстве случаев это ответило бы на ваши вопросы. Но по некоторым вопросам вы застряли, как вы заметили.
Это в основном признак того, что будет трудно получить ответ, так как нет документации. Таким образом, у вас есть два варианта: не использовать метод / функцию, для которой вы искали информацию, а использовать что-то другое. Или будьте готовы потратить много времени на просмотр источников Rails на github .
Используйте что-то вроде этого Google query , чтобы получить доступ к определенной части github. Это в основном отправит вас в правильный файл, но в некотором двоичном объекте вместо главного, поэтому найдите тот же файл в главном дереве, чтобы вы знали, что искомая вещь доступна в вашем Rails (при условии, что вы используете мастер / немодифицированная версия)
Следующая часть более сложная, вы уже нашли метод retrieve_connection
, но он использует другой метод retrieve_connection_pool
, который используется в другом файле где-то в каталоге active_record / connection_adapters (/ abstract) . Который использует какой-то другой класс, найденный в ..., и так далее ...
Эта ситуация чаще всего имеет место, если вы просматриваете источники. Через некоторое время вы, скорее всего, освоитесь с этим и станете более привыкнуть к поиску необходимых вещей. Но всегда будет много работы, чтобы найти ответ таким образом.
Так что выбор за вами, я думаю.
PS Вместо использования Rails API вы можете попробовать ввести некоторые из ваших ключевых слов ActiveRecord :: Base.connection tables indexes в Google и надеяться, что кто-то написал статью об этих предметы и сделал исследование источников Rails для вас.