मैं एक प्रवास के अंदर एक विधि को परिभाषित करने की कोशिश कर रहा हूँ, लेकिन मैं एक अपरिभाषित विधि त्रुटि हो रही है:डिफाइनिंग तरीकों
undefined method 'do_something_specific' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x4868018>
मैं नहीं बल्कि इसे कहीं और परिभाषित नहीं चाहते हैं, क्योंकि यह 'नहीं करता है टी वास्तव में शेष एप्लिकेशन से संबंधित नहीं है, बस यह विशिष्ट माइग्रेशन।
class DoSomethingSpectacular < ActiveRecord::Migration
def self.up
do_something_specific(1, 2)
end
def self.down
end
private
def do_something_specific(p_1, p_2)
# something happens here...
end
end
मैं यहाँ कुछ याद आ रही हूँ:
स्पष्ट है कि, मेरी माइग्रेशन तरह दिखता है? मैं इसे इस तरह क्यों परिभाषित नहीं कर सकता?
हाँ मुझे समझ में नहीं आया कि यह एडाप्टर के भीतर से क्या कह रहा था, लेकिन मुझे लगा कि यह अभी भी इसके दायरे में होना चाहिए। वैसे भी, अब मुझे कक्षा के लिए एक त्रुटि अपरिभाषित विधि 'do_something_specific' मिलती है: कक्षा –
डी ओह क्षमा करें। चूंकि 'self.up' एक स्थैतिक विधि है,' वर्ग 'के लिए कॉल' कक्षा 'वापस कर देगी, न कि' DoSomethingSpectacular'। मैंने नमूना कोड अपडेट किया। – Koraktor
मुझे लगता है कि आप सुरक्षित रूप से 'DoSomethingSpectacular' को हटा सकते हैं। self.up में – khelll