Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

95
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda