2013-06-27 8 views
6

मैं अपने JavaScript फ़ाइल मेंरेल में कार्रवाई नियंत्रक को एक ajax कॉल करने

class PatientRecordController < ApplicationController 
    def export 
    .... 
    end 
end 

मेरी नियंत्रक के लिए एक ajax कॉल करने के लिए कोशिश कर रहा हूँ मेरे पास है

$(document).ready(function(){ 
    freezeTopRow($('#dataTable')); 
    $("#export").click(function(){ 
     $.ajax({url: "patient_record/export", type: "POST"}); 
    }); 
}); 

जब मैं तत्व और डिबग का निरीक्षण किया और जब मैं अपने पेज पर निर्यात टैग पर क्लिक करता हूं। मैंने फ़ंक्शन को दबाया हालांकि यह नियंत्रक को कभी नहीं मिला

इसके अलावा मेरे पास 2 नियंत्रक और 2 विचार हैं। मेरे अन्य नियंत्रक और ध्यान में रखते हुए मैं एक ही बात करते हैं और यह काम करता है

उत्तर

8

आप की जाँच की है कि आप की तरह कुछ है routes.rb है आपके पास केवल GET सेट है, आप जांच सकते हैं कि AJAX कॉल में अनुरोध के प्रकार को बदलना)

2

तुम भी export कार्रवाई के लिए एक मार्ग अपने config/routes.rb फ़ाइल में, जैसे

resources :patient_records do 
    member do 
    post :export 
    end 
end 

कुछ आप देख सकते हैं की जरूरत है अगर यह पहले से मौजूद है को देखने के लिए rake routes | grep 'export' चलाकर।

post 'patient_record/export' 

हो सकता है कि रेल इसलिए ajax (काम नहीं कर रहा आप यह मतलब है कि अपने ब्राउज़र से कार्रवाई करने के लिए प्राप्त कर सकते हैं मार्ग नहीं जानता है:

+1

केवल पांच सेकंड! – NicoSantangelo

+2

... और मैं बस आपके उत्तर पर एक समान टिप्पणी पोस्ट करने वाला था। :) – pjmorse

संबंधित मुद्दे