2014-09-11 9 views
6

मैं अजैक्स से परिचित नहीं हूं और रेलों पर रूबी नहीं हूं। मैं स्वयं परियोजना करने के लिए सीख रहा हूं।रेलवे नियंत्रक पर रूबी से डेटा कैसे प्राप्त करें

अब मुझे एक समस्या का सामना करना पड़ रहा है, मैं नियंत्रक से डेटा पुनर्प्राप्त करने के लिए AJAX का उपयोग करना चाहता हूं।

मुझे यकीन है कि कैसे यूआरएल हिस्सा लिखने के लिए नहीं कर रहा हूँ:

$.ajax({ 
    type:"GET", 
    url:"books", 
    dataType:"json", 
    success:function(result){ 
    alert(result); 
    } 
}) 

किताबें मेरी नियंत्रक का नाम है

इस कोड काम करता है, लेकिन इसके बजाय का पुनः प्राप्त (पुस्तक मेरी मेज से एक है) किताबों से सभी डेटा, मैं केवल इसका एक हिस्सा चाहता हूं। अपनी पुस्तकों नियंत्रक

def test 
    @test=books.find.last 
    respond_do |format| 
    format.html 
    format.json {render ;json=>@test} 
    end 
end 

में कार्रवाई परीक्षण में कुछ डेटा का कहना है कि लेकिन जब मैं किताबें/परीक्षण करने के लिए यूआरएल बदलने के लिए, मैं एक त्रुटि संदेश का कहना है कि 404 कंसोल लॉग में नहीं मिला मिलेगा।

मैं नियंत्रक डेटा का हिस्सा कैसे प्राप्त कर सकते हैं? अग्रिम

+0

क्या आपने path.rb में परीक्षण कार्रवाई का उल्लेख किया था? क्या आप अपने मार्ग भी साझा कर सकते हैं। आरबी भी? – Unknown

उत्तर

9

में धन्यवाद वैसे अपने यहां यही प्रयास क्या एक गैर RESTful मार्ग परीक्षण कहा जाता पैदा करते हैं। तो तुम routes.rb में इस जोड़ने की आवश्यकता होगी (अधिक जानकारी के लिए here देखें):

resources :books do 
    collection do 
    get 'test' 
    end 
end 

आप चाहते हैं, तो आप इस तरह अपने पैरामीटर भेजने सकता है:

$.ajax({ 
    type:"GET", 
    url:"books/test", 
    dataType:"json", 
    data: {some_parameter: 'hello'}, 
    success:function(result){ 
    alert(result); 
    } 
}) 

जो तुम तो कर सकते थे इस तरह की परीक्षण विधि में उपयोग करें:

def test 
    some_parameter = params[:some_parameter] 
    # do something with some_parameter and return the results 

    @test=books.find.last 
    respond_do |format| 
    format.html 
    format.json {render json: @test} 
    end 
end 
+0

पुस्तकें नियंत्रक में आपका यूआरएल परीक्षण विधि कैसे कॉल करने जा रहा है? – Surya

+0

क्षमा करें मैंने इसे छोड़ दिया। मेरा जवाब अपडेट किया गया। – manishie

+0

आप कुछ //parameter के साथ कुछ // // बदलना चाहते हैं और परिणामों को वापस कर सकते हैं 'कुछ_परमीटर के साथ कुछ करें और परिणाम वापस करें क्योंकि रूबी में यह वैध टिप्पणी नहीं है? और यदि आप answer_to ब्लॉक में JSON वापस कर सकते हैं। – Surya

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