個別に実装を剥がして行く場合のアプローチ
環境
# bin/rails -v Rails 6.0.3.1
今回想定するシチュエーション
rails new
したときにオプションで間引きたかったが間引き忘れたときにどうやって対応をしていくべきかというアプローチ
見るべきところ
config/application.rb
ここで各種拡張の読み込みを行っている。new時に除外オプションをつけないと以下の様になる
require_relative 'boot' require 'rails/all' # 以下略
この rails/all
は何をしているかというと以下の通り
# frozen_string_literal: true # rubocop:disable Style/RedundantBegin require "rails" %w( active_record/railtie active_storage/engine action_controller/railtie action_view/railtie action_mailer/railtie active_job/railtie action_cable/engine action_mailbox/engine action_text/engine rails/test_unit/railtie sprockets/railtie ).each do |railtie| begin require railtie rescue LoadError end end
このようにrequireをまとめてやっている形なので、個別に削りたいケースでは個別のrequireに書き換えて上げると良い。
なお、rails new
するときにオプション指定すると以下のように書き換わるので倣っても良い
require_relative 'boot' require 'rails' # Pick the frameworks you want: 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_mailbox/engine" require "action_text/engine" require 'action_view/railtie' require "action_cable/engine" require "sprockets/railtie" require 'rails/test_unit/railtie'
config/environments/のファイル
各設定ファイルに呼び出し設定があることがあるので、必要なものを取り除く 大概はRailsコンソールを立ち上げ時にエラーがでるので、そちらをもとに取り除くと良い