5

ऐसा लगता है कि रेल/ए आर और Inflector तरीकों ActiveSupport द्वारा String को जोड़ा गया के साथ, मैं उम्मीद होती है कि डिफ़ॉल्ट रूप से,क्या अंडरस्कोर 'underscoreize' के उचित रेल घुमाव है?

Nested::ClassDerived::FromAR.name.tableize == Nested::ClassDerived::FromAR.table_name 

लेकिन असल में tableize कॉल underscore, और underscore वास्तव में :: नेस्टेड वर्ग को रेखांकित नहीं करता विभाजक बनाने के लिए इसे / के साथ बदलकर विभाजक। शायद इस विधि को pathify कहा जाना चाहिए?

वैसे भी, मुझे वास्तविक अंडरस्कोर की आवश्यकता है। तो मैं एक नया String Inflector विधि को परिभाषित करने की सोच रहा हूँ:

def new_inflector 
    underscore.gsub('/', '_') 
end 

है कि वास्तव में नेस्टेड वर्ग के नाम स्ट्रिंग को रेखांकित करेंगे।

तो, मेरा सवाल यह है कि कॉन्फ़िगरेशन के बिना, मेरी नई इन्फ्लोक्टर विधि को उचित और पारंपरिक रूप से नामित करने के लिए 'underscore' का उचित परिवर्तन क्या है। क्या यह 'underscoreize' होगा ('tableize' द्वारा स्थापित सम्मेलन के बाद) या 'underscorize'? या शायद underscoreify?

किसी भी अंतर्दृष्टि की सराहना की।

+0

आप यह पढ़ रहे हैं और इस सवाल की तरह, कृपया इसे वोट दें :) – tribalvibes

उत्तर

8

क्या आपने अंडरस्कोर के साथ विभाजक के रूप में पैरामीटर को करने का प्रयास किया है?

parameterize('_') 
+0

ताकि आप जैसे का उपयोग कर सुझाव दे रहे हैं, तो '" ब्लेच :: फूबार ".underscore.parameterize ('_')' 'bletch_foo_bar" के वांछित परिणाम प्राप्त करने के लिए? 'underscore.gsub ('/', '_') के बारे में कैसे - क्या वह भी काम करेगा? – tribalvibes