2011-02-26 11 views
5

मैं केवल 'लॉक' कॉलम को पंक्ति पर सेट करना चाहता हूं, अगर यह पहले से सेट नहीं है। रेस की स्थिति की संभावना है और प्रदर्शन महत्वपूर्ण है इसलिए यह एक ही प्रश्न में किया जाना चाहिए। मुझे लगता है कि समाधान इस तरह दिखना चाहिए:क्या ActiveRecord में update_all विधि पंक्तियों की संख्या लौटाती है?

class MyModel 
    def lock(worker) 
    cnt = MyModel.where(id: self.id, lock: nil).update_all(:lock=>worker.name) 
    cnt == 1 
    end 
end 

update_all विधि वास्तव में है जैसे कि यह DataMapper में करता है प्रभावित पंक्तियों की संख्या वापसी करता है?

उत्तर

6

हां, यह ActiveRecord में डेटामैपर

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