如何在Rails中的form_for中提交两个提交按钮提交给不同的操作?

时间:2012-02-16 18:04:05

标签: ruby-on-rails-3 forms

如何在一个form_for方法中有两个提交按钮提交给不同的操作?

我第一次看到这个question,并在其中一个答案(相当旧的)railscast中找到了一个链接。在这个Railscast的末尾,Ryan Bates建议使用submit_to_remote方法提交表单那个不同的行动。我无法在文档中找到这个submit_to_remote方法(我使用Rails 3.1)。还有办法让不同的提交按钮提交给不同的操作吗?

1 个答案:

答案 0 :(得分:0)

 var Widgets = window.Widgets || { };
 Widgets.orders = {
    initialize      : function( ) {
        jQuery('#sumbit1').live('click', function(){
          Widgets.orders.submitOne();
        });
        jQuery('#sumbit2').live('click', function(){
          Widgets.orders.submitTwo();
        });
    },

    submitOne :function(num) {
        jQuery.ajax({
          type : "POST",
          url: "/widgets/orders" ,
          data: jQuery('#order_form').serialize(),
          success: function(htmlText){
            if (htmlText.status > 399) {
              alert('OH NO!!!  Something went wrong!!');
            } else {
              jQuery('#orders').html(htmlText);
            }
          },
          dataType: 'html'
        });
    },
    submitTwo :function(num) {
        jQuery.ajax({
          type : "POST",
          url: "/blah/orders" ,
          data: jQuery('#order_form').serialize(),
          success: function(htmlText){
            if (htmlText.status > 399) {
              alert('OH NO!!!  Something went wrong!!');
            } else {
              jQuery('#orders').html(htmlText);
            }
          },
          dataType: 'html'
        });
    }

// Start it up
jQuery(function() {
  Widgets.orders.initialize();
});

};