Вы можете использовать clearfix
.
Просто добавьте его как class
- фактически то, что он делает, это:
.clearfix::after {
display: block;
clear: both;
content: "";
}
Сделайте каждую строку в списке формой и поместите информацию о рассматриваемом объекте там. Конечно, необходимо будет отправить и перезагрузить страницу с каждым действием. Единственный путь вокруг этого состоит в том, чтобы использовать флажки вместо кнопок и сделать это одной большой формой — или использовать JavaScript.
Что касается Вашего второго вопроса, если Вы хотите иметь кнопку отправки, влияют на две "формы", необходимо сделать их обоих частью той же формы. У Вас может быть несколько кнопок отправки на форме, если Вы должны. Иначе Вы могли динамично генерировать третью форму с JavaScript, заполненным значениями от исходной формы — но это не будет работать во всех случаях (например, исходные данные файла).
Я использую jQuery, и вот что я сделал:
<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 %>
Идея состоит в том, чтобы изменять действие формы на лету, в зависимости от того, какая кнопка нажата