6

Tôi đang sử dụng ryan bates nested_form gem để tự động thêm một số trường lồng nhau vào biểu mẫu.Dynamic Nested Form link_to_add được gọi là hai lần

ví dụ:

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

Mọi thứ hoạt động, ngoại trừ HAI trường trống được thêm mỗi khi liên kết được nhấp.

tôi đặt một breakpoint trên $('form a.add_nested_fields').live('click', function() và thấy nó được gọi là hai lần ...

Tôi đang sử dụng Chrome trên máy Mac

+0

bạn có thể hiển thị html được tạo ra và nhiều hơn nữa của javascript xin – Evan

+0

bất kỳ dẫn cho đến nay? – ZMorek

Trả lời

9

Look trong tiêu đề của bạn. Bạn sẽ thấy rằng điều này ở trong đó hai lần:

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

Chỉ cần xóa tham chiếu thứ hai (có thể trong application.html.erb) của bạn và nó sẽ hoạt động.

+0

Để xây dựng thêm, điều này có thể do dòng này trong bố cục của bạn: <% = javascript_include_tag "application", "nested_forms.js"%> Xóa tham chiếu nested_forms.js cụ thể vì nó sẽ được bao gồm trong tham chiếu ứng dụng. –

+0

Ok và những gì nếu tôi không muốn bất kỳ mục Trống ,, tôi chỉ cần thêm chúng nếu người dùng clics .. = (tôi không thể tìm ra cách. –

1

bạn có thể đã lồng file dạng js được nạp hai lần

-1

séc để tải js file nhiều hơn một và chắc chắn để xóa bạn bộ nhớ cache của trình duyệt nếu bạn làm việc trong các dự án nhân

1

Đối với những người có vấn đề này bằng cách sử đường ray 4/turbolinks và không tìm thấy nested_form.js bao gồm hai lần, hãy thử loại bỏ turbolinks khỏi application.js. Một khi tôi đã làm điều này và bị trả về máy chủ, vấn đề này đã được giải quyết.

tín dụng ở đây: https://github.com/ryanb/nested_form/issues/307

Các vấn đề liên quan