मेरे पास निम्न RentalRequest
वस्तु है:
# & lt ; RentalRequest आईडी: 3, पिकअप_स्टार्ट: "2015-03-16 21:00:00", पिकअप_ेंड: "2015-03-16 23:00:00" & gt;
मैं pickup_start
और pickup_end
को 2015-03-17 पर अपडेट करना चाहते हैं। जब मैं चलाता हूं:
RentalRequest.find (3) .update_attribute (pickup_end: "2015-03-17 23:00:00") तर्क त्रुटि: तर्कों की गलत संख्या (2 के लिए 1) < / कोड> निश्चित रूप से मुझे क्या अन्य तर्क प्रदान करने की आवश्यकता है I
यदि यह मदद करता है, तो यहां विशेषता का प्रकार और आउटपुट है
RentalRequest.find (3)। Pickup_end = & gt; सोम, 16 मार्च 2015 23:00:00 यूटीसी +00: 00 RentalRequest.find (3) .pickup_end.class = & gt; ActiveSupport :: TimeWithZone
देखो, यह कैसे नाम, मान की अपेक्षा कर रहा है
तर्क के रूप में?
आप नाम: मान
से गुजर रहे हैं जो एक हैश है, एक हैश का एक तर्क इसलिए आपको गलत संख्या के तर्क के बारे में त्रुटि मिल रही है, विधि 2 की उम्मीद कर रही है, लेकिन आप केवल 1 प्रदान कर रहे हैं।
आप या तो कॉल करने के लिए अपना कोड बदल सकते हैं: update_attribute (: pickup_end , "2015-03-आदि।")
या इसके बजाय आप इसके बजाय update_attributes
विधि का उपयोग कर सकते हैं, जो एक हैश लेता है मैं बाद की सिफारिश करता था, क्योंकि फिर आप एक ही एसक्यूएल स्टेटमेंट में और एक ही डीबी लेनदेन में एक साथ दो विशेषताओं को अपडेट कर सकते हैं:
update_attributes pickup_end: "2015 ... आदि" , पिकअप_स्टार्ट: "2015 ... आदि"
No comments:
Post a Comment