dla istniejącej Rails 4/5 projekt w pliku config/application.rb
masz następujący wiersz:
require 'rails/all'
(Jako że linia odniesienia jest ładowany this file)
Więc zamiast obciążenia wszystkim musisz aby załadować każdą bibliotekę osobno w następujący sposób:
# active_record is what we're not going to use it, so comment it "just in case"
# require "active_record/railtie"
# This is not loaded in rails/all but inside active_record so add it if
# you want your models work as expected
require "active_model/railtie"
# And now the rest
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "active_job/railtie" # Only for Rails >= 4.2
require "action_cable/engine" # Only for Rails >= 5.0
require "active_storage/engine" # Only for Rails >= 5.2
require "sprockets/railtie"
require "rails/test_unit/railtie"
Miej oko na komentarze, aby wiedzieć, co załadować w związku z wersją Rails. Następnie wypowiedzieć również następujące linie:
#config/environments/development.rb
config.active_record.migration_error = :page_load
#config/environments/production.rb
config.active_record.dump_schema_after_migration = false
#spec/rails_helper.rb
ActiveRecord::Migration.maintain_test_schema!
# Only for Rails >= 5.0
#config/initializers/new_framework_defaults.rb
Rails.application.config.active_record.belongs_to_required_by_default = true
Opcjonalnie można usunąć wszelkie odniesienia do klasy ActiveRecord
.
rm app/models/application_record.rb
w szynach 3 prostu wyjąć gem mysql z Gemfile – jspooner
@jspooner usunięcie nazwy klejnot w Gemfile nie działał. –
Jak zrobiłbyś to samo w Rails 4? –