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

85
Vistas
No elimina la clase de ocultación después de ver el renderizado

En mi aplicación Rails 5, tengo un formulario de registro donde el usuario puede elegir el tipo de registration_type de la lista desplegable. Cuando selecciona la opción Caregiver , se muestra un campo adicional en el formulario; lo maneja el archivo registrant.js a continuación:

 $(document).on('focusout change', "#registrant_registration_attributes_registered_as", toggle_caregiver_fields_on_ready); function toggle_caregiver_fields_on_ready(){ var caregiverSectionElement = $("#registrant_registration_attributes_registrant_id"), register_as = $("#registrant_registration_attributes_registered_as"), caregiver = (register_as.val() == 'caregiver'); if (caregiver) { $('.patient-caregiver-section').removeClass('hidden'); $('#patient-search-results').removeClass('hidden'); } else { $('.patient-caregiver-section').addClass('hidden'); $('#patient-search-results').addClass('hidden'); } }

Funciona bastante bien hasta que el formulario arroja un error que provoca la acción render :new del controlador create, como se muestra a continuación:

registrants_controller.rb

 def create @registrant = Registrant.new(parse_post_params) if @registrant.save! #some logic (...) @registrant.add_special_status_to_history(current_login.user) @caregiver_patient.save! if @patient.present? redirect_to registrant_path(@registrant), notice: 'Registrant Added' else render :new end end

Después de que se procesó la :new página, el archivo JS no parecía funcionar; en la consola de Chrome, se seleccionó el menú desplegable I:

 <select class="form-control required" aria-required="true" name="registrant[registration_attributes][registered_as]" id="registrant_registration_attributes_registered_as"><option value=""> Please select </option> <option selected="selected" value="caregiver">Caregiver</option> <option value="patient">Patient</option></select>

Pero la clase patient-caregiver-section todavía tiene un valor hidden :

 <div class="patient-caregiver-section hidden"> <div id="add-patient"> <div class="form-group"><label class="non-bold-label pull-left" for="registrant_registration_attributes_patient_to_caregiver"> Patient Added to Caregiver </label> </div> </div> </div>

¿Cómo forzar el archivo JS para eliminar esta clase también cuando se procesó una nueva acción?

about 4 years ago · Juan Pablo Isaza
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