6

Estoy usando la gema ryan bates nested_form para agregar dinámicamente algún campo anidado a un formulario.Formulario anidado dinámico link_to_add llamado dos veces

p. Ej.

<%= f.fields_for :phones do |phone_form| %> 
<%= phone_form.text_field :phone_number %> 
<% end %> 
<%= f.link_to_add "Add a phone", :phones %></p> 

Todo funciona, excepto DOS campos vacíos se agregan cada vez que se hace clic en el enlace.

me colocaron un punto de interrupción en $('form a.add_nested_fields').live('click', function() y ver que se llama dos veces ...

estoy usando Chrome en un mac

+0

podría mostrar el código HTML que se genera y más del Javascript a favor – Evan

+0

alguna pista hasta ahora? – ZMorek

Respuesta

9

Busque en su cabecera. Verá que esto está en que hay dos veces:

<script src="/assets/nested_form.js?body=1" type="text/javascript"></script> 

Basta con retirar la segunda referencia (tal vez en su application.html.erb) y funcionará.

+0

Para mayor detalle, esto es probablemente causado por esta línea en su diseño: <% = javascript_include_tag "application", "nested_forms.js"%> Elimina la referencia específica nested_forms.js ya que la referencia de la aplicación ya la incluirá. –

+0

Ok, y si no quiero ningún elemento en blanco, solo tengo que agregarlos si el usuario clics .. = (No puedo entender cómo. –

1

que puede haber anidado archivos de formulario js que se carga el doble

-1

cheque por la carga de archivos js más de uno y asegúrese de limpiar que la caché del navegador si se trabaja en proyectos se multiplican

1

Para los que tienen este problema utilizando rails 4/turbolinks y no encontrar nestted_form.js incluido dos veces, intente eliminar turbolinks de application.js. Una vez que hice esto y recuperé el servidor, este problema se resolvió.

crédito aquí: https://github.com/ryanb/nested_form/issues/307

Cuestiones relacionadas