Я думаю, что Филк ударил гвоздь по голове своими комментариями.
Когда у вас есть приложение, работающее в производственной среде, на которую рассчитывают люди, у вас должен быть механизм для «замораживания» среды. Обновление направляющих может привести к тому, что ваше приложение перестанет работать правильно.
Это может быть что-то незначительное или что-то, что мешает вашим пользователям выполнять свою работу.
Просто Google «Обновление рельсового драгоценного камня ломает мое приложение», чтобы увидеть некоторые проблемы.
Игорь Минар имеет хорошую запись в блоге о том, почему вы должны заморозить как гемы, так и Rails, а также обсуждает, как теперь вы можете устанавливать конкретные зависимости версий гемов в Rails.
Вы можете заморозить Rails, вы можете заморозить гемы, вы можете установить зависимость от конкретной версии гема в вашем файле environment.rb.
Причина, по которой вы это сделаете, заключается в том, чтобы ваше приложение не сломалось при выпуске обновленной версии гема или Rails. Замораживание позволяет вам протестировать обновление на отдельной машине, убедиться, что оно проходит все ваши автоматизированные тестовые наборы, позволяет вашим пользователям проверять обновленное приложение по его темпам, а затем (после хорошего резервного копирования) вы применяете обновление к гему или Rails.