31
votes

Upgrading Rails to 5.2, and I found out that I must commit the storage.yml into version control. I don't plan to use ActiveStorage. Is there a way to disable it?

3

3 Answers

40
votes

Remove next line from config/application.rb

require "active_storage/engine"

Remove next line from environments config/environments/*.rb

config.active_storage.service = :local

Remove next line from app/assets/javascripts/application.js

//= require activestorage

ActiveStorage rails routes will vanish

In case there is statement require 'rails/all' in application.rb then you can use solution provided below where you need to require dependency by dependency and to omit active_storage.

19
votes

The only solution I've found so far is in config/application.rb, replacing:

require 'rails/all'

With:

require "rails"

# Include each railties manually, excluding `active_storage/engine`
%w(
  active_record/railtie
  action_controller/railtie
  action_view/railtie
  action_mailer/railtie
  active_job/railtie
  action_cable/engine
  rails/test_unit/railtie
  sprockets/railtie
).each do |railtie|
  begin
    require railtie
  rescue LoadError
  end
end

which is taken from Rails' source.

3
votes

Remove lines like the following from config/environments/*.rb

config.active_storage.service = :local

Rails will then not load the yaml file.