2012-03-28 13 views
7

क्या रेल श्रेणी के नाम में संख्याएं हो सकती हैं? उदाहरण के लिए:मैं एक रेल रूबी फ़ाइल का नाम कैसे रखूं जिसका वर्ग नाम संख्या है?

class Test123 
end 

क्या यह एक वैध वर्ग है? जब मैं कक्षा लोड करने का प्रयास करता हूं तो मुझे uninitialized constant Test123 त्रुटि मिलती है।

+13

तुम क्यों कोशिश मत करो यह और देखो? –

+0

'अनियमित स्थिर टेस्ट 123'। क्या इसका मतलब यह मान्य नहीं है? @minitech का कहना है कि यह है। –

+0

@ArtemKalinchuk: क्या आप उस सटीक कोड को दिखा सकते हैं जो उस त्रुटि को उत्पन्न करता है, कृपया? – Ryan

उत्तर

39

मुझे लगता है कि आर्टिम कलिनचुक की आखिरी टिप्पणी इस गलत प्रश्न का उत्तर होने का हकदार है।

एक रूबी वर्ग के नाम में संख्याएं हो सकती हैं।

रेल कक्षा को सही ढंग से नामित फ़ाइल में परिभाषित किया जाना है। यदि मैं NewYear2012Controller नामक कक्षा को परिभाषित करता हूं, तो इसे new_year2012_controller.rb फ़ाइल "new_year_2012_controller.rb" के बजाय परिभाषित करने की आवश्यकता है।

क्योंकि रेलवे इन्फ्लिक्टर और ऑटो लोडिंग कैसे काम करती है।

7

हां, Ruby class names may contain numbers। हालांकि, रुबी में सभी पहचानकर्ताओं के साथ, they may not begin with numbers

Reference:

पहचानकर्ता

उदाहरण:

foobar ruby_is_simple 

रूबी पहचानकर्ता अक्षर से मिलकर दशमलव अंक, और अंडरस्कोर वर्ण हैं, और (सहित एक अक्षर के साथ शुरू रेखांकित)। रूबी पहचानकर्ताओं की लंबाई पर कोई प्रतिबंध नहीं हैं।

0

मैं इस बारे में पता नहीं है ...

देखें

class Ab123 
    def initialize(y) 
    @z = y 
    end 
end 

class AbCde 
    def initialize(y) 
    @z = y 
    end 
end 

निम्नलिखित और निम्नलिखित instantiations:

Ab123.new x 

या

AbCde.new x 

केवल बाद में AbCde.new x ठीक से तत्काल।

1

कोशिश यह करने के लिए:

  • अपने मॉडल और model.rb फ़ाइल
  • नाम बदलने TABLE_NAME जादू

जोड़ने के लिए यहाँ के रूप में:

class TwoProduct < ActiveRecord::Base 
    self.table_name = '2_products' 
end 
संबंधित मुद्दे