Método no definido raise_in_transactional_callbacks = ‘para ActiveRecord :: Base: Class (NoMethodError)

Antes de escribir esta pregunta, miré estas respuestas, pero no pude encontrar una solución.

Error al ejecutar Rails generar andamios Nombre de usuario: cadena email: cadena

rake abortado! método undefined `migration_error = ‘para ActiveRecord :: Base: Class

Error al iniciar el servidor Rails: método no definido ‘configurar’


Cuando trato de iniciar una nueva aplicación (para el tutorial de Hartl , Capítulo 2), en el inicio del andamio de escenario, recibí un error como:

**undefined method `configure' for # (NoMethodError)** 

Pero gracias a los ejemplos anteriores, edité el archivo development.rb :

 DemoApp::Application.configure do 

(Sí, mi aplicación se llama demo_app, así que transformé su nombre).

Después de eso, traté de ejecutar el andamio nuevamente pero recibí un nuevo error:

 **method_missing': undefined method raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError)** 

En respuesta a casos similares, indica un método de migración , que debe eliminarse del archivo development.rb. Del mismo modo, traté de encontrar en este archivo el método raise_in_transactional_callbacks , ¡pero no está allí! Además, diría que el código completo que se produce en cmd es muy grande:

 C:\Sites\demo_app>rails generate scaffold User name:string email:string invoke active_record C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError) from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:166:in `block (3 levels) in ' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:165:in `each' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.0.2/lib/active_record/railtie.rb:165:in `block (2 levels) in ' … from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-4.0.2/lib/rails/commands.rb:48:in `' from bin/rails:4:in `require' from bin/rails:4:in `' 

Donde el … (puntos suspensivos) – corte especialmente el código similar. Eso es todo. ¡Apreciaría cualquier ayuda!

Su config/application.rb tiene la siguiente línea:

config.active_record.raise_in_transactional_callbacks = true

Este no es un valor de configuración válido en su versión de Rails. Tendrá que eliminarlo o comentarlo para continuar.

Nota: este error y el que procedió son indicativos de un cambio de versión de Rails incompleto. Si se encuentra en las primeras etapas de un tutorial, puede considerar seriamente reiniciar su aplicación utilizando su versión preferida de Rails desde el principio. Esto lo ayudará a evitar este tipo de error hasta que esté más familiarizado con la tecnología.

Tuve el mismo problema al actualizar una aplicación de Rails 5.0.1 a Rails 5.1.0.beta1.

Al iniciar el servidor ( rails s ), recibí el siguiente mensaje de error:

 /home/user01/.rvm/gems/ruby-2.4.0@global/gems/activerecord-5.1.0.beta1/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `raise_in_transactional_callbacks=' for ActiveRecord::Base:Class (NoMethodError) 

Los mismos males, las mismas curas.

Comentando la siguiente línea, en config/application.rb , resolvió el problema …

 config.active_record.raise_in_transactional_callbacks = true 

Después de algunas investigaciones, descubrí que esta línea estaba predeterminada en Rails 4.2.1, se desvaneció en Rails 5.0.0 y ahora provoca un error en Rails 5.1.0.beta1 …