Je veux désactiver ActiveRecord dans Rails 4. J'ai fait ce qui suit dans 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
Par j'ai une erreur de
/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
ア レ ッ ク ス
la source
la source
rails new ... -O
pour désactiver activerecord?Réponses:
Si vous créez une nouvelle application, vous pouvez utiliser
-O
pour ignorer ActiveRecord:Pour les applications existantes:
1. Supprimez les gemmes d'adaptateur de base de données de votre Gemfile (mysql2, sqlite3, etc.)
2. Changez votre
config/application.rb
Supprimez la
require 'rails/all
ligne et nécessitent les frameworks (parmi ceux disponibles dans votrerails
version, la liste varie, ne vous contentez pas de copier) que vous souhaitez utiliser, par exemple:Supprimer
config.active_record.raise_in_transactional_callbacks = true
deconfig/application.rb
3. Supprimez votre
config/database.yml
fichierdb/schema.rb
et les migrations (le cas échéant)4. Supprimer l'enregistrement de la migration
test/test_helper.rb
5. Supprimez toute configuration ActiveRecord de vos
config/environments
fichiers (c'est ce qui cause votre erreur)C'est tout ce que vous devez faire pour une application Rails vide. Si vous rencontrez des problèmes causés par votre code existant, le suivi de la pile devrait vous donner suffisamment d'informations sur ce que vous devez modifier. Vous pouvez par exemple avoir une configuration ActiveRecord dans vos initialiseurs.
la source
require 'rails/all'
comprend peut être trouvée ici .rails new my_app -O
un mois. Maintenant, je veux récupérer l'enregistrement actif. Quels sont les fichiers / gemmes / configuration que je dois ajouter maintenant?config.active_record.raise_in_transactional_callbacks = true
deconfig/application.rb
.Salut c'est ce que donne les rails par défaut new_app -O
dans votre config / application.rb
De plus, il est livré sans database.yml et NO db / migrate / * et schema.rb
la source
require "action_cable/engine"
Comme il s'agit toujours du premier succès lors de la recherche sur Google pour désactiver l'enregistrement actif pour Rails 5, j'ajouterai ceci ici:
Pour Rails 5
Suivez toutes les étapes de la réponse @mechanicalfish, mais supprimez également la ligne
de
la source
Pour ceux qui utilisent le gem rails-api, vous pouvez rencontrer une erreur similaire lors de l'utilisation de l'
--skip-active-record
indicateur lors de l'utilisationrails-api new my_api
. Le correctif actuel (jusqu'à ce qu'une nouvelle version corrigée du gem soit publiée) est de modifier votre gem rails-api pour avoir ce commit . Utilisezbundle open
et remplacez l'ancienGemfile
par le nouveau corrigé. Relancez et vous devriez être prêt.la source
Pour désactiver ActiveRecord dans Rails 4.2, vous pouvez créer config / initializers / middleware.rb
Voir le middleware de rake terminal
la source
Pour les rails 5:
Si vous générez une nouvelle application
Utilisez l'
--skip-active-record
option pour générer une application sans base de données:rails new myApp --skip-active-record
la source
Pour Rails Plugins (ou gemmes) avec une
spec/dummy
applicationLorsque votre application rails vit
spec/dummy
et que vous démarrez votre serveur à partir du répertoire racine du plugin. Vous pouvez toujours obtenir l'erreur suivante:Pour éviter cela, supprimez l'
require rails/all
intérieur du fichierbin/rails
et exigez les frameworks que vous souhaitez utiliser, par exemple:la source
Pour Ruby On Rails version 5.1.x
la source