Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
Zeitwerk necesita recargar cada cambio

En el entorno de desarrollo, cuando se usa zeitwerk, cada cambio en el código ruby necesita reiniciar el servidor, porque zeitwerk no carga las clases definidas en mygem. Tengo una joya, usada por mi empresa que usa modelos de rieles. Y algunos de esos modelos se reabren y agregamos algunos métodos.

Tengo el siguiente modelo en mi aplicación.

 require_dependency("#{Mygem::Engine.root.join('app','models','identification.rb')}") class Identification include Cacheable has_paper_trail def some method end end

Y el siguiente modelo en mygem, ruta de mi gema app/models/identification.rb:

 class Identification < ApplicationRecord self.table_name = 'pub_identification' belongs_to :city, foreign_key: 'idcity' end

Pero si cambio algo en mi código, necesito reiniciar mi servidor, porque el modelo de mis gemas no se vuelve a abrir. me sale el error:

 undefined local variable or method `has_paper_trail' for Identification:Class

El método has_paper_trail es un método de mygem. Y solo funciona si reinicio. ¿Algún consejo para esto?

EDITAR:

Estructura de la gema:

 mygem/ ├─ app/ │ ├─ models/ ├─ config/ ├─ lib/
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No puede tener dos archivos que definan la misma constante en las rutas de carga automática.

Su motor define un modelo y la aplicación quiere decorarlo. Para este caso de uso, consulte esta documentación .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda