2010-04-03 7 views
14

मैं पुन: संसाधन संसाधन नियंत्रकों के लिए JSON प्रतिक्रियाओं का उपयोग कर अपने रेल अनुप्रयोग के लिए एक एपीआई बनाने की कोशिश कर रहा हूं। यह मेरे लिए एक नया अनुभव है, इसलिए मैं कुछ मार्गदर्शन और पॉइंटर्स की तलाश में हूं। चीजों को बंद करने के लिए:रेल 3: रेलवे में जेएसओएन के साथ आरईएसटी-फुल एक्शन का जवाब देने का सही तरीका क्या है?

  1. रेल अनुप्रयोग में, JSON के साथ REST-ful नियंत्रक विधियों के जवाब देने का "उचित" तरीका क्या है? (बनाएं, अपडेट करें, नष्ट करें)
  2. क्या JSON प्रतिक्रिया के माध्यम से सफलता/विफलता को इंगित करने का कोई मूर्ख तरीका है?

अतिरिक्त जानकारी:

  • मैं वर्तमान में रेल 3.0.beta2
  • साथ काम कर रहा हूँ मैं एक प्लगइन या मणि का उपयोग कर घुरघुराना काम करने के लिए से बचने के लिए चाहते हैं, मेरे लक्ष्य रेलवे 3 एपीआई बनाने के बारे में बेहतर समझ हासिल करना है।
  • स्थानों पर लिंक मुझे विषय पर अधिक जानकारी मिल सकती है, इसकी भी सराहना की जाएगी, Google पर कुछ त्वरित खोज ने मुझे बहुत अच्छा नहीं किया।
+0

आप इस हिस्से यह पता लगाने क्या: "वहाँ एक JSON प्रतिक्रिया के माध्यम से सफलता/असफलता इंगित करने के लिए एक मुहावरेदार रास्ता नहीं है" –

+0

मैं हाल ही में रेल के साथ काम नहीं कर रहा हूं, लेकिन मैंने जो अन्य परियोजनाओं में देखा है, उससे लौटा जेएसओएन ऑब्जेक्ट में एक बूलियन ध्वज जेएसओएन कॉल की सफलता/विफलता को मापने का सबसे सरल तरीका प्रतीत होता है। –

उत्तर

29
#config/routes.rb 
MyApplicationsName::Application.routes.draw do 
    resources :articles 
end 

#app/controllers/articles_controller.rb 
class ArticlesController < ActionController::Base 

    # so that respond_with knows which formats are 
    # allowed in each of the individual actions 
    respond_to :json 

    def index 
    @articles = Article.all 
    respond_with @articles 
    end 

    def show 
    @article = Article.find(params[:id]) 
    respond_with @article 
    end 

    ... 

    def update 
    @article = Article.find(params[:id]) 
    @article.update_attributes(params[:article]) 

    # respond_with will automatically check @article.valid? 
    # and respond appropriately ... @article.valid? will 
    # be set based on whether @article.update_attributes 
    # succeeded past all the validations 
    # if @article.valid? then respond_with will redirect to 
    # to the show page; if [email protected]? then respond_with 
    # will show the :edit view, including @article.errors 
    respond_with @article 
    end 

    ... 

end 
+0

बिल्कुल वही जो मैं खोज रहा था, धन्यवाद। मुझे रेल दस्तावेज में 'respond_with' देखना याद है, लेकिन किसी कारण से यह क्लिक नहीं किया गया। इससे बहुत मदद मिली, धन्यवाद! –

+0

क्या इसका मतलब है कि हम __ed_ करने के लिए _need_ @ article.valid? %> 'विचारों में तर्क? – dazonic

+0

त्रुटियों को दिखाने के लिए आपको यह देखने के लिए दृश्यों में तर्क की आवश्यकता है। लेकिन मैंने अधिक जानकारी के साथ अपना जवाब अपडेट किया। – yfeldblum

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

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