2016-06-14 40 views
0

我想弄清楚如何創建一個路由到控制器方法,由jQuery中的POST ajax請求調用。我有一個使用AJAX更新設置時間的函數,它從select_tag接收數據。下面是該方法的代碼:如何創建一個路由到一個POST AJAX請求調用的控制器方法

,update_setup_time: function(e) { 
    var d = $('#setup_form_popup').val(); 
    $.ajax({ 
     url: '/events/update_setup_time_p', 
     type: 'POST', 
     dataType: 'json', 
     data: d, 
     success: function() { 
      alert(d + "how are you doing?"); 
     } 
    }); 
} 

我希望URL調用方法update_setup_time_p,它是控制器中的方法。但是,如何在route.rb文件中路由到此目錄?任何和所有的幫助表示讚賞。

+0

沒有解決問題......不知道爲什麼,但仍然存在路由錯誤。我知道資源:事件會爲控制器的創建操作創建一個POST路徑。只是不知道爲什麼仍然有這個錯誤 –

+0

好吧,我改變了http請求PATCH,這似乎工作。但ID是 –

+0

update_setup_time_p,這裏是錯誤: –

回答

0

嘗試類似這樣的事情。

post '/events/update_setup_time_p', to: 'your_controller#update_setup_time_p' 
+0

仍然收到路由錯誤,說有沒有路徑 –

0

試試這個。

$.ajax({ 
    beforeSend: function(xhr) { xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))}, 
    type: 'POST', 
    url: '/events/update_setup_time_p', 
    data: d, 
    success: function() { 
     alert(d + "how are you doing?"); 
    } 
}); 
+0

好吧,我改變了http請求補丁,而且這似乎工作。但ID是update_setup_time標識,這裏是錯誤:ActiveRecord :: RecordNotFound - 無法找到事件'id'= update_setup_time_p –

+0

請粘貼AJAX調用的控制檯日誌 – Siddhanth

+0

ActiveRecord :: RecordNotFound - 無法找到事件與'id'= update_setup_time_p [WHERE'events'.'location_id' IN(4470,9,4469,45,32,5,120,50,49,33,71,256,61,47)]: activerecord(4.2 .5.1)lib/active_record/relation/finder_methods.rb:324:在'raise_record_not_found_exception!'中(4.2.5.1)lib/active_record/relation/finder_methods.rb:423:in'find_with_ids' activerecord(4.2.5.1)lib/active_record/relation/finder_methods.rb:444:in'find_one' activerecord .5.1)lib/active_record/relation/finder_methods.rb:71:在'find' –

相關問題