Ich möchte ActiveRecord in Rails 4 deaktivieren. Ich habe Folgendes in ausgeführt config/application.rb
require File.expand_path('../boot', __FILE__)
# require 'rails/all' -- commented
require "action_controller/railtie"
require "action_mailer/railtie"
#require "active_resource/railtie" no need
#require "rails/test_unit/railtie" no need
#require "sprockets/railtie" no need
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
module MyApp
class Application < Rails::Application
config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"
end
end
Durch habe ich einen Fehler von
/home/alex/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configuration.rb:95:in
method_missing: undefined method active_record for #<Rails::Application::Configuration:0x00000002005c38> (NoMethodError)
ruby-on-rails
ruby
ruby-on-rails-4
ア レ ッ ク ス
quelle
quelle
rails new ... -O
aktivieren, um Activerecord zu deaktivieren?Antworten:
Wenn Sie eine neue Anwendung erstellen, können Sie
-O
ActiveRecord überspringen:Für bestehende Anwendungen:
1. Entfernen Sie Datenbankadapter-Gems aus Ihrer Gemfile (mysql2, sqlite3 usw.).
2. Ändern Sie Ihre
config/application.rb
Entfernen Sie die
require 'rails/all
Zeile und benötigen Sie Frameworks (unter denen, die in Ihrerrails
Version verfügbar sind , variiert die Liste, kopieren Sie nicht nur), die Sie verwenden möchten, zum Beispiel:Entfernen
config.active_record.raise_in_transactional_callbacks = true
vonconfig/application.rb
3. Löschen Sie Ihre
config/database.yml
Dateidb/schema.rb
und Migrationen (falls vorhanden).4. Löschen Sie den Migrations-Check-in
test/test_helper.rb
5. Löschen Sie alle ActiveRecord-Konfigurationen aus Ihren
config/environments
Dateien (dies verursacht Ihren Fehler).Dies ist alles, was Sie für eine leere Rails-App tun müssen. Wenn Sie auf Probleme stoßen, die durch Ihren vorhandenen Code verursacht werden, sollte die Stapelverfolgung ausreichend Informationen darüber enthalten, was Sie ändern müssen. Möglicherweise haben Ihre Initialisierer beispielsweise eine ActiveRecord-Konfiguration.
quelle
require 'rails/all'
Einschlüsse finden Sie hier .rails new my_app -O
einem Monat eine Anwendung erstellt. Jetzt möchte ich die aktive Aufzeichnung zurück. Welche Dateien / Edelsteine / Konfigurationen muss ich jetzt hinzufügen?config.active_record.raise_in_transactional_callbacks = true
ausconfig/application.rb
.Hallo, das ist es, was die Standardschienen new new_app -O geben
in Ihrer config / application.rb
Außerdem kommt es ohne database.yml und NO db / migrate / * und schema.rb
quelle
require "action_cable/engine"
Da dies immer noch der erste Treffer bei der Suche in Google nach Deaktivierung des aktiven Datensatzes für Rails 5 ist, füge ich dies hier hinzu:
Für Schienen 5
Führen Sie alle Schritte in der Antwort von @mechanicalfish aus, entfernen Sie jedoch auch die Zeile
von
quelle
Bei Benutzern des Rails-API-Edelsteins kann ein ähnlicher Fehler auftreten, wenn Sie das
--skip-active-record
Flag verwendenrails-api new my_api
. Der aktuelle Fix (bis eine neue korrigierte Version des Edelsteins veröffentlicht wird) besteht darin, Ihren Rails-API-Edelstein so zu bearbeiten, dass dieser Commit ausgeführt wird . Verwendenbundle open
und ersetzen Sie die alteGemfile
durch die neue korrigierte. Wiederholen und Sie sollten fertig sein.quelle
Zum Deaktivieren von ActiveRecord in Rails 4.2 können Sie config / initializers / middleware.rb erstellen
Siehe die Terminal Rake Middleware
quelle
Für Schienen 5:
Wenn Sie eine neue App generieren
Verwenden Sie die
--skip-active-record
Option, um eine Anwendung ohne Datenbank zu generieren:rails new myApp --skip-active-record
quelle
Für Rails Plugins (oder Edelsteine) mit einer
spec/dummy
AppWenn Ihre Rails-App lebt
spec/dummy
und Sie Ihren Server vom Plugin-Root-Verzeichnis aus starten. Möglicherweise wird immer noch der folgende Fehler angezeigt:Um dies zu vermeiden, entfernen Sie
require rails/all
die Dateibin/rails
und benötigen Sie Frameworks, die Sie verwenden möchten, z. B.:quelle
Für Ruby On Rails Version 5.1.x.
quelle