ruby-on-rails - tag - rails forms select
MĂșltiples botones/formularios de envĂo en Rails (2)
Haga que cada fila en la lista sea un formulario y coloque allí la información sobre el artículo en cuestión. Por supuesto, deberá enviar y volver a cargar la página con cada acción. La única forma de evitar esto es usar casillas de verificación en lugar de botones y hacer que sea una gran forma, o usar Javascript.
En cuanto a su segunda pregunta, si desea que un botón de envío afecte dos "formularios", debe hacer que ambos formen parte del mismo formulario. Puede tener múltiples botones de envío en el formulario si lo necesita. De lo contrario, podría generar dinámicamente un tercer formulario con Javascript rellenado con los valores del formulario original, pero eso no funcionaría en todos los casos (por ejemplo, entradas de archivos).
Estoy intentando escribir una aplicación de rieles que te permite acceder a una página determinada, digamos / person /: id. En esta página, muestra un conjunto de recursos disponibles. Quiero que cada recurso tenga un botón al lado, que reserva ese recurso para esa persona (al crear una nueva instancia de un modelo de Asignación). Como extensión, me gustaría tener varios botones para cada recurso, que cancelen las reservas y lo hagan otras cosas. También me gustaría ingresar datos junto con algunos de los botones, por ejemplo, para asignar un% de un recurso.
Mi problema es que no puedo entender cómo hacerlo de manera sensata sin repetirme o tener un controlador muy hacky. ¿Cómo puedo hacer esto sin hacer coincidir la parte de valor de los botones de envío (el texto en los botones), o usar cualquier javascript?
Además, si tiene dos formularios en una página, ¿cómo lo configura para que los cambios en ambos formularios se guarden cuando se hace clic en cualquier botón de envío?
estoy usando jQuery, y esto es lo que hice:
<script type="text/javascript">
$(document).ready(function() {
$(''#bulk_print'').click(function(){
var target = ''<%= bulk_print_prepaid_vouchers_path(:format => :pdf) %>'';
$(''#prepaidvoucher_bulk_print'').attr(''action'', target);
$(''#prepaidvoucher_bulk_print'').submit();
});
$(''#bulk_destroy'').click(function(){
var target = ''<%= bulk_destroy_prepaid_vouchers_path %>'';
$(''#prepaidvoucher_bulk_print'').attr(''action'', target);
$(''#prepaidvoucher_bulk_print'').submit();
});
});
</script>
<% form_tag ''#'', :method => :post, :id => ''prepaidvoucher_bulk_print'' do %>
your form details
<button class="button" type="submit" id="bulk_print">
<%= image_tag("web-app-theme/printer.png", :alt => "Print Selected Vouchers") %> Print Selected Vouchers
</button>
<button class="button" type="submit" id="bulk_destroy">
<%= image_tag("web-app-theme/cross.png", :alt => "Delete Selected Vouchers") %> Delete Selected Vouchers
</button>
<% end %>
La idea es cambiar la acción del formulario sobre la marcha, en función de qué botón se haga clic