2009-09-28 13 views
88

में किसी विशेषता का मूल मान कैसे प्राप्त करें मूल ActiveCecord विशेषता (= वह मान जो डेटाबेस से लोड किया गया था) प्राप्त करने का कोई तरीका है?रेल

मैं एक पर्यवेक्षक

before_save object 
    do_something_with object.original_name 
end 

काम के लिए एक हैश तालिका से वस्तु को निकालने के लिए (वास्तव में, तालिका में एक अन्य प्रमुख पर ले जाते हैं) को अद्यतन करने पर है में कुछ इस तरह करना चाहते हैं।

उत्तर

224

आपकी विशेषता में _was जोड़कर आपको पिछले मूल्य मिलेगा।

+0

धन्यवाद, मैं वास्तव में क्या देख रहा था! –

+75

रेल इतनी भयानक है – digitalWestie

+7

E.g .: 'self.context' के लिए:' self.context_was' –

8

ActiveRecord की attributes_before_type_cast विधि टाइपकास्टिंग और deserialization होने से पहले गुणों का एक हैश देता है।