En mi aplicación Rails, he usado la gema de campos de formulario anidados para agregar y eliminar campos de contactos en mi formulario de creación de empleados. El HTML para los campos de contacto se ve así:
<h3 class= "fw-bold mt-2">Contacts:</h3> <div class="nested_form_field"> <%= f.nested_fields_for :contacts do |contact| %> <div class="fields-row"> <%= contact.label :number, class: "m-1"%> <%= contact.text_field :contact_no, placeholder: "Enter Contact", class: "m-1" %> <%= contact.remove_nested_fields_link 'Remove', data: { confirm: 'Are you sure?' }, class: "link-danger remove_fields" %> </div> <% end %> </div> <%= f.add_nested_fields_link :contacts, 'Add Contact', class: 'btn btn-secondary btn-sm mt-1' %>Aquí, quiero hacer cambios en la vista de modo que cuando el campo de entrada para el número de contacto sea solo uno, el enlace para eliminar el contacto debería ocultarse. Para eso, he agregado este código a application.js:
$(document).ready(function (){ if ($(".fields-row").length == 1) { $(".remove_fields").hide(); } })Entonces, cuando se carga la página, no hay ningún enlace para eliminar, pero después de agregar varios campos, cada campo obtiene un enlace para eliminar, excepto el primero. Quiero cambiar el js de modo que incluso el primer contacto pueda eliminarse y cuando solo haya un contacto disponible, el enlace debería ocultarse. Por favor ayuda.