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

99
Vistas
¿Puede actualizar un objeto anidado con JS para que los atributos que dependen de los atributos principales también se vuelvan a cargar?

Tengo un modelo de Plan que tiene has_many Version . Estoy anidando un formulario de Version dentro de un formulario de Plan .

forma

 <%= simple_form_for @plan do |f| %> <%= f.simple_fields_for :version do |v| %> <%= v.input :amount, hint: "#{pricing_model_hint_for_amount(@version)}" %> <% end %> <% end %>

Construyo la versión en la acción PlansController #new:

acción del controlador

 def new @plan = current_account.plans.build @version = @plan.versions.build end

Ahora, por ejemplo, la sugerencia @version para la entrada de amount depende de un atributo de su Plan principal llamado :pricing_model . El atributo de sugerencia de entrada consume un asistente que buscará @version.plan.pricing_model para obtener la sugerencia correcta de un archivo YAML.

ayudante

 def pricing_model_hint_for_amount(version) t("simple_form.hints.version.pricing_model.#{version.plan.pricing_model}") end

Problema:

Debido a que se crea una instancia @version cuando se carga el formulario, la sugerencia no se actualiza dinámicamente cuando cambio el @plan pricing_model en el formulario.

¿Hay alguna forma (con o sin Javascript) de volver a cargar el @plan anidado para que las sugerencias del formulario se actualicen en consecuencia si algo en su padre cambia? Si no es así, ¿hay alguna manera de recargar el campo de pista de modo que cuando se consuma de nuevo el ayudante se logre el mismo resultado?

Espero haberme explicado, de lo contrario por favor házmelo saber. Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿En qué versión de Rails estás?

Si está en Rails 7, debería considerar usar:

un controlador de estímulo para escuchar los cambios y actualizar su información sobre herramientas. (más js)

Cómo crear un controlador y la acción que puede escuchar .

o:

un marco turbo para recargar partes de su formulario a pedido. (más rubí)

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