В основном правильно, и вы можете проверить, что «нужно», отключив одну строку за раз в рабочем приложении Rails.
require_relative 'boot'
: приложение все еще работает. require 'rails/all'
: метод не найден, ошибка для драгоценного камня, не указанного в моем Gemfile (одна из встроенных в Rails (требуется 'rails / all') Bundler.require(*Rails.groups)
: методне найден для gem из Gemfile.
Итак, второе и третье являются независимыми и необходимыми. Вызов boot.rb для bundler / setup не может заменить ни одного из двух другихпотому что его функция на самом деле очистить путь загрузки , убедившись, что включены только гемы Gemfile, а все остальное удалено. См. последнюю строку источника установки Bundler ., пока приложение работает, оно может работать с доступом к другим гемам, которые вы не собирались включать, и дает ложное представление о том, что приложение работает, когда может произойти сбой для другого пользователя, который установил только зависимости Gemfile..
ИтакВы можете избежать неприятностей только со вторым и третьим в краткосрочной перспективе, но определенно захотите, чтобы все три на чем-то, что кто-то может когда-нибудь выполнить.Накладные расходы минимальны, поэтому я бы не стал их удалять.