Rails允许在索引操作上对Ajax进行POST,而不会破坏CREATE

时间:2014-12-31 02:30:13

标签: ajax ruby-on-rails-4 routes

我有一个简单的资源设置,目前在routes.rb我有:

resources :leave_requests

这完全按照预期工作,在索引视图中我通过GET使用Ajax进行数据表设置,这也有效但在Ajax请求期间URI变得非常大。我希望这是一个POST动作,为了这个工作,我需要一个POST而不是我的路线中的索引动作的GET。

但是,这会破坏CREATE操作,即只需在提交新请求时加载索引页即可。即如果我这样做:

post '/leave_requests', to: 'leave_requests#index'
resources :leave_requests

我怎样才能让这些幸福地共存?

1 个答案:

答案 0 :(得分:0)

您是否尝试过像Rails , Ajax , Post Function , Jquery这样的代码看起来像

$('form').submit(function()
    {
     var myForm =  $('form').serialize();
        $.ajax
         ({
            url:'/leave_request/create',
             type:"POST",
             dataType:'json',
             data: myForm,
             processData:false,
            success: function (msg)
            {
            alert(msg);
            },
            error: function (xhr, status)
            {
            alert(xhr.error);
            }
         });
    });

您还可以查看jQuery post to Rails