繁体   English   中英

Rails中的多个提交按钮/表单

[英]Multiple submit buttons/forms in Rails

我正在尝试编写一个rails应用程序,它允许你转到某个页面,比如/ person /:id。 在此页面上,它显示了一组可用资源。 我希望每个资源旁边都有一个按钮,它将该资源保留给该人(通过创建分配模型的新实例。)作为扩展,我想要每个资源的几个按钮,取消预订并执行其他事情。 我还想在一些按钮旁输入数据,例如分配一些资源。

我的问题是我无法解决如何在不重复自己或拥有非常黑客的控制器的情况下明智地做到这一点。 如何在不匹配提交按钮的值部分(按钮上的文本)或使用任何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 %>

我们的想法是根据点击的按钮动态更改表单操作

使列表中的每一行成为一个表单,并在那里放置有关该项目的信息。 当然,您需要在每次操作时提交并重新加载页面。 解决这个问题的唯一方法是使用复选框而不是按钮,并使其成为一个大的形式 - 或使用Javascript。

至于你的第二个问题,如果你想让一个提交按钮影响两个“表格”,你应该让它们成为同一个表格的一部分。 如果需要,您可以在表单上有多个提交按钮。 否则,您可以动态生成第三个表单,其中Javascript填充了原始表单中的值 - 但这并不适用于所有情况(例如,文件输入)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM