Ответ 1
Эти строки фактически не влияют на использование ваших активов.
Первая строка,
Bundler.require *Rails.groups(:assets => %w(development test))
загружает только камни из группы assets
в вашей среде разработки и тестирования. Это означает, что такие вещи, как sass-rails
и uglifier
, не будут доступны в производстве, а это значит, что вы не сможете правильно компилировать/минимизировать/независимо от ваших активов на лету в производстве, если вы используете этих драгоценных камней.
С другой стороны,
Bundler.require(:default, :assets, Rails.env)
будет загружать группу assets
в любую среду, делая эти драгоценные камни доступными в производстве для компиляции/минимизации активов/на лету.
Итак, как указано выше, эти строки фактически не изменяют поведение вашего конвейера активов - это просто означает, что вы должны использовать первое, если вы собираетесь предварительно скомпилировать свои активы для производства или использовать второе, если вы "лениво компилируется в производство".