6

Korzystam z klucza ryżu nested_form, aby dynamicznie dodać do formularza pewne zagnieżdżone pole.Dynamiczny zagnieżdżony formularz link_to_add wywołany dwukrotnie

np.

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

Wszystko działa, z wyjątkiem dodawanych przy każdym kliknięciu łącza dwa puste pola.

umieściłem przerwania na $('form a.add_nested_fields').live('click', function() i zobaczyć to nazywa dwukrotnie ...

używam Chrome na Mac

+0

można pokazać html, który jest generowany i więcej javascript proszę – Evan

+0

wszelkie przewody do tej pory? – ZMorek

Odpowiedz

9

poszukaj w nagłówku. Zobaczysz, że jest tam dwa razy:

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

Wystarczy wyjąć drugą odniesienia (być może w swoim application.html.erb) i będzie działać.

+0

W celu dalszego rozwinięcia, jest to prawdopodobnie spowodowane tym wierszem w układzie: <% = javascript_include_tag "aplikacja", "nested_forms.js"%> Usunięcie określonego odniesienia nested_forms.js, ponieważ jest już dołączone do odwołania do aplikacji. –

+0

OK i co jeśli nie chcę żadnych pustych przedmiotów, po prostu muszę je dodać, jeśli użytkownik clics .. = (nie mogę dowiedzieć się, jak. –

1

może masz zagnieżdżone plików formularzy js ładowane dwukrotnie

-1

check do załadunku js plikami więcej niż jedna i upewnij się, aby wyczyścić pamięć podręczną przeglądarki, jeśli pracujesz w pomnożyć projektów

1

Dla tych, którzy mają ten problem za pomocą szyny 4/turbolinks i nieodkrywanie pliku nested_form.js zawarte dwukrotnie, spróbuj usunąć turbolinks z aplikacji application.js. Kiedy zrobiłem to i odrzuciłem serwer ten problem został rozwiązany.

Credit tutaj: https://github.com/ryanb/nested_form/issues/307

Powiązane problemy