tutorial rails que ejemplos curso caracteristicas ruby-on-rails ruby ruby-on-rails-4

ruby-on-rails - que - ruby on rails tutorial



Deshabilitar ActiveRecord para Rails 4 (8)

Quiero desactivar ActiveRecord en Rails 4. Hice lo siguiente en 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 tener un error 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)


Para Rails 5:

Si está generando una nueva aplicación

Utilice la opción --skip-active-record para generar una aplicación sin una base de datos:

rails new myApp --skip-active-record

Observe el guión adicional ''-'' a diferencia de las versiones anteriores de Rails.


Dado que este sigue siendo el primer golpe al buscar en Google para deshabilitar el registro activo de Rails 5, lo agregaré aquí:

Para Rails 5

Siga todos los pasos en la respuesta de @mechanicalfish, pero también elimine la línea

Rails.application.config.active_record.belongs_to_required_by_default = true

de

config/initializers/new_framework_defaults.rb


Hola, esto es lo que los rieles predeterminados new new_app -O da

require "rails" # Pick the frameworks you want: require "active_model/railtie" require "active_job/railtie" # require "active_record/railtie" require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" require "sprockets/railtie" require "rails/test_unit/railtie"

dentro de tu config / application.rb

Además, viene sin database.yml y SIN db / migrate / * y schema.rb


Para Ruby On Rails versión 5.1.x

require "rails" # Pick the frameworks you want: require "active_model/railtie" require "active_job/railtie" # require "active_record/railtie" require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" require "action_cable/engine" require "sprockets/railtie" require "rails/test_unit/railtie"


Para aquellos que usan la gema rails-api , puede encontrar un error similar al usar el indicador --skip-active-record cuando se hace rails-api new my_api . La solución actual (hasta que se publique una nueva versión corregida de la gema) es editar la gema rails-api para que tenga esta confirmación . Utilice el bundle open y reemplace el antiguo Gemfile con el nuevo Gemfile corregido. Vuelve a ejecutar y deberías estar todo listo.


Para desactivar ActiveRecord en Rails 4.2, puede crear config / initializers / middleware.rb

Rails.application.middleware.tap do |middleware| middleware.delete ActiveRecord::Migration::CheckPending middleware.delete ActiveRecord::ConnectionAdapters::ConnectionManagement middleware.delete ActiveRecord::QueryCache end

Ver el middleware de rastrillo de terminal


Si está creando una nueva aplicación, puede usar -O para omitir ActiveRecord:

rails new my_app -O

Para aplicaciones existentes:

1. Quite las gemas del adaptador de base de datos de su Gemfile (mysql2, sqlite3, etc.)

2. Cambie su config/application.rb

Quite require ''rails/all line y requiera frameworks que quiera usar, por ejemplo:

require "action_controller/railtie" require "action_mailer/railtie" require "sprockets/railtie" require "rails/test_unit/railtie"

Eliminar config.active_record.raise_in_transactional_callbacks = true de config/application.rb

3. Elimine su archivo config/database.yml , db/schema.rb y migraciones (si corresponde)

4. Eliminar el control de migración en test/test_helper.rb

5. Elimine cualquier configuración de ActiveRecord de sus archivos config/environments (esto es lo que está causando su error)

Esto es todo lo que necesita hacer para una aplicación de Rails vacía. Si se encuentra con problemas causados ​​por su código existente, el seguimiento de la pila debe darle información suficiente sobre lo que necesita cambiar. Por ejemplo, puede tener alguna configuración de ActiveRecord en sus inicializadores.


Para Rails Plugins (o gems) con una aplicación spec/dummy

Cuando su aplicación de rieles está en spec/dummy e inicia su servidor desde el directorio plugin-root. Es posible que sigas recibiendo el siguiente error:

Cannot load `Rails.application.database_configuration`: Could not load database configuration. No such file - ["config/database.yml"]

Para evitar esto, quite require rails/all dentro del archivo bin/rails y requiera los marcos que quiera usar, por ejemplo:

# Pick the frameworks you want: require "active_model/railtie" require "active_job/railtie" # require "active_record/railtie" require "action_cable/engine" require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" require "sprockets/railtie" require "rails/test_unit/railtie"