Eu quero desabilitar o ActiveRecord no Rails 4. Eu fiz o seguinte em 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
Por eu tenho um erro 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
ア レ ッ ク ス
fonte
fonte
rails new ... -O
para desativar o registro ativo?Respostas:
Se estiver criando um novo aplicativo, você pode usar
-O
para pular o ActiveRecord:Para aplicativos existentes:
1. Remova as joias do adaptador de banco de dados de seu Gemfile (mysql2, sqlite3, etc.)
2. Mude o seu
config/application.rb
Remova a
require 'rails/all
linha e exija os frameworks (dentre os disponíveis em suarails
versão, a lista varia, não apenas copie) que deseja usar, por exemplo:Remover
config.active_record.raise_in_transactional_callbacks = true
deconfig/application.rb
3. Exclua seu
config/database.yml
arquivodb/schema.rb
e migrações (se houver)4. Excluir check-in de migração
test/test_helper.rb
5. Exclua qualquer configuração ActiveRecord de seus
config/environments
arquivos (isso é o que está causando o erro)Isso é tudo que você precisa fazer para um aplicativo Rails vazio. Se você encontrar problemas causados por seu código existente, o rastreamento de pilha deve fornecer informações suficientes sobre o que você precisa alterar. Você pode, por exemplo, ter alguma configuração ActiveRecord em seus inicializadores.
fonte
require 'rails/all'
incluídos pode ser encontrada aqui .rails new my_app -O
um mês atrás. Agora quero o registro ativo de volta. Quais são os arquivos / gemas / configuração que preciso adicionar agora?config.active_record.raise_in_transactional_callbacks = true
a partirconfig/application.rb
.Olá, isto é o que o new_app -O do rails padrão oferece
dentro do seu config / application.rb
Além disso, ele vem sem database.yml e NO db / migrate / * e schema.rb
fonte
require "action_cable/engine"
Já que este ainda é o primeiro hit ao pesquisar no Google para desativar o registro ativo para Rails 5, vou adicionar isso aqui:
Para Rails 5
Siga todas as etapas na resposta @mechanicalfish, mas também remova a linha
de
fonte
Para aqueles que usam a gem rails-api, você pode encontrar um erro semelhante ao usar o
--skip-active-record
sinalizador ao fazerrails-api new my_api
. A correção atual (até que uma nova versão corrigida da gem seja lançada) é editar sua gem rails-api para ter este commit . Usebundle open
e substitua o antigoGemfile
pelo novo corrigido. Execute novamente e você deve estar pronto.fonte
Para desabilitar ActiveRecord no Rails 4.2 você pode criar config / initializers / middleware.rb
Veja o middleware de terminal rake
fonte
Para Rails 5:
Se você estiver gerando um novo aplicativo
Use a
--skip-active-record
opção de gerar um aplicativo sem banco de dados:rails new myApp --skip-active-record
fonte
Para plug-ins Rails (ou gems) com um
spec/dummy
aplicativoQuando seu aplicativo rails está instalado
spec/dummy
e você inicia seu servidor a partir do diretório raiz do plugin. Você ainda pode receber o seguinte erro:Para evitar isso, remova
require rails/all
dentro do arquivobin/rails
e exija as estruturas que deseja usar, por exemplo:fonte
Para Ruby On Rails versão 5.1.x
fonte