我正在尝试编写一个rails应用程序,让你可以去某个页面,说/ person /:id.在此页面上,它显示一组可用资源.我希望每个资源都有一个旁边的按钮,它将该资源保留给该人(通过创建一个分配模型的新实例).作为一个扩展,我想要每个资源的几个按钮,取消预约并执行其他事情.我也想输入一些按钮旁边的数据,例如分配一些资源的百分比.
我的问题是我无法理解如何明智地做到这一点,而不用重复自己,或者拥有一个非常黑客的控制器.如何在提交按钮的值部分(按钮上的文本)或使用任何javascript?
另外,如果您在页面上有两种表单,那么您如何进行设置,以便在单击提交按钮时保存两种表单上的更改?
解决方法
im使用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 %>
这个想法是根据点击的按钮即时更改表单动作