Active Storageをルートから削除する方法


なぜ、、、

rake routesをしてみたら/rails/active_storage/**というルートが勝手に追加されていた。

Active Storageとは

Active Storageが何かわからなかったため、軽く調べてみました。

Active Storageは、Rails5.2で追加された、ファイルアップロードを行うための機能です。これを使えば、フォームで画像の投稿機能などが簡単に作れます。また、Amazon S3, Google Cloud Storage, Microsoft Azure Storageなどのクラウドストレージサービスに対するファイルのアップロードを簡単に行うことができます。クラウドストレージの他に、ローカルディスクにファイルを保存することもできます。
Paperclip, Carrierwave, Dragonflyなどのgemの代わりになるとされていますが、現時点ではバリデーションとキャッシュ関連の機能は残念ながら備えていません。使うにはRails 5.2以上にアップグレードする必要があります。

必要ないので削除したいと思います。

削除する方法

※Rails6.0以上の方は一番下へ

手順1

application.rbの記述を修正する。
require "active_storage/engine"が不要なのでコメントアウトする。
修正するべき部分だけ記述しています!

修正前

config/application.rb
require 'rails/all'

修正後

config/application.rb
require "rails"

# Include each railties manually, excluding `active_storage/engine`
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
# require "active_storage/engine"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
require "rails/test_unit/railtie"

手順2

下記のコードを全てコメントアウトする。

config/environments/development.rb
config.active_storage.service = :local
config/environments/production.rb
config.active_storage.service = :local
config/environments/test.rb
config.active_storage.service = :test

手順3

下記のコードをコメントアウトする

app/assets/javascripts/application.js
//= require activestorage

参考記事

Active Storageについてもっと詳しく知りたい方は
https://qiita.com/hmmrjn/items/7cc5e5348755c517458a

Rails6.0以上

こちらを参考にしてください