class User < ActiveResource::Base
self.element_name = "user"
end
इसके बाद, आप कैसे यूआरएल जो ActiveResource को लग रहा है //foo.com/user/.json
के बजाय //foo.com/user.json किए जाने से एक तत्व प्राप्त करने के लिए पूछने के लिए जा रहे हैं टिप्पणी करने के लिए जवाब में
User.find(:one, :from => "https://foo.com/user.json?username=#{<USERNAME>}"
संपादित
वहाँ हर बार मैं) का उपयोग करना (चाहते हैं अनुरोध के पूर्ण URL दर्ज किए बिना ऐसा करने के लिए कोई तरीका है?
एक तरीका है कक्षा में एक विधि को आपके लिए पूर्ण यूआरएल करने के लिए परिभाषित करना।
class User < ActiveResource::Base
self.element_name = "user"
def self.find_by_username(username)
find(:one, :from => "https://foo.com/user.json?username=#{username}"
end
def find
self.class.find(:one, :from => "https://foo.com/user.json?username=#{username}"
end
end
element_path को फिर से परिभाषित करने का एक और तरीका है।
class User < ActiveResource::Base
self.element_name = "user"
def self.element_path(id, prefix_options = {}, options = {})
"https://foo.com/user.json?username=#{prefix_options["user_id"]}"
end
end
कुछ इस बंदर-पैचिंग को कॉल करेंगे, अन्य इसे ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग कहते हैं। मैं कहता हूं कि जब आप कोड में जा रहे हैं या बेस व्यवहार को बदलने के लिए रूबी की गतिशील प्रकृति का उपयोग कर रहे हैं तो यह केवल बंदर-पैचिंग है और यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में चीजों को करने का एक पूरी तरह से वैध तरीका है। हालांकि, रूबी समुदाय ओओपी का अधिक उपयोग नहीं करता है, बहुत अधिक लूसर (और कम अच्छी तरह से व्यवहार) मिश्रण-इन्स के पक्ष में विरासत को अनदेखा करता है, और केवल पॉलिमॉर्फिज्म के लिए बतख-टाइपिंग का उपयोग करता है।
एक्टिव रिसोर्स के साथ गड़बड़ करने वाले मुद्दों को एक यूआरएल बनाने के लिए जहां आप ActiveResource सम्मेलनों को स्वीकार करने के लिए वेब सेवा को फिर से परिभाषित नहीं कर सकते हैं, इसलिए कई लोग HTTParty का उपयोग क्यों कर रहे हैं। "। आप URL के निर्माण के लिए है, तो साथ ही HTTParty का उपयोग कर सकते"
वहाँ एक रास्ता है प्रत्येक बार जब मैं ढूंढना चाहता हूं अनुरोध के पूर्ण यूआरएल दर्ज किए बिना ऐसा करने के लिए()? –
आपने इसके लिए पूछा। उत्तर संपादित किया गया। –
यूआरएल के पहले भाग को लिखने के लिए आप 'साइट' और' उपसर्ग 'का भी उपयोग कर सकते हैं। – funwhilelost