[Ruby-on-rails] एक परियोजना में रेल नियंत्रक और मॉडल का नाम कैसे बदला जाए


Answers

नोबिटा के अलावा आपको इसी तरह जवाब देने की जरूरत है कि corps store करने के लिए टेस्ट और हेल्पर क्लास की परिभाषाएं और फाइल नाम बदल दें। अधिक महत्वपूर्ण रूप से आप अपने कॉन्फिग / रुट्स। आरबी फाइल में store करने के लिए corps को बदलना चाहिए

तो कुल में आप नियंत्रक, मॉडल से जुड़े, दृश्य, सहायक, टेस्ट और रूट फाइल में परिवर्तन कर रहे हैं।

मुझे लगता है कि आपने जो देखा है उसे destroy और generate destroy सुझाव दिया है एक बेहतर विकल्प है मैंने यह जवाब दिया है कि यह कैसे करना है: रेल: एक नियंत्रक और इसी मॉडल का नाम बदलना

Question

मैंने एक रेल ऐप शुरू किया और सब कुछ ठीक काम करता है लेकिन अब, मैं एक नियंत्रक और संबद्ध मॉडल का नाम बदलना चाहूंगा:

मैं Stores लिए Corps नियंत्रक को बदलना चाहता हूं और मॉडल के लिए वही (बिना अंतिम)

गूगल को देखते हुए, लोगों को नष्ट करने और फिर नियंत्रक और मॉडल फिर से उत्पन्न करने का सुझाव दिया। समस्या यह है कि यह प्रत्येक फाइल का वास्तविक कोड मिटा देगा!

कोई भी समाधान? अग्रिम में धन्यवाद।




और अगर आपके पास मॉडल परीक्षण हैं, तो आपको बदलने की आवश्यकता है:

फ़ाइल नाम बदलें: corp_test.rb -> store_test.rb (नियंत्रक परीक्षणों, एकीकरण परीक्षण, स्थिरता, आदि के लिए भी)

Store_test.rb का कोड: कक्षा StoreTest के लिए वर्ग CorpTest बदलें।

और नियंत्रक, मॉडल, एकीकरण, स्थिरता परीक्षणों में कॉर्प के सभी संदर्भ।




एक अन्य महत्वपूर्ण बात यह है कि आपको मॉडल एसोसिएशन को अपडेट करना होगा, जिसे आपको करना होगा कि आप मैन्युअल रूप से नाम बदलते हैं या संसाधन को उत्पन्न करते हैं और उत्पन्न करते हैं (चूंकि वे अन्य मॉडलों में मौजूद हैं)। आप या तो डेटाबेस में विदेशी कुंजी के कॉलम नाम बदलने के लिए एक माइग्रेशन चला सकते हैं और कोड में उन विदेशी कुंजी के सभी संदर्भ बदल सकते हैं:

rename_column :table, :old_id, :new_id

या पुराने विदेशी कुंजी का उपयोग करने वाले संघ की घोषणा करते समय एक कस्टम विदेशी कुंजी सेट करें:

belongs_to :new, foreign_key: "old_id"

इसके अलावा यदि आपके संसाधनों में छवियां शामिल हैं, तो वे अक्सर ऐसी निर्देशिका में संग्रहीत होती हैं जिसमें संसाधन नाम शामिल होता है (लेकिन कम से कम वाहक के साथ) संसाधन के नाम बदल दिए जाने पर उन्हें गलत तरीके से संदर्भित किया जाएगा (फाइल '/ अपलोड / पुराने / छवि / 1 / pic.jpg 'लेकिन' अपलोड / नया / ... 'के लिए देखा गया है), ताकि आपको या तो छवियों को हटाएं और पुनः अपलोड कर दें, उन्हें नए रास्ते पर ले जाएं, फिर से देखा जा रहा है




नियंत्रक के लिए आपको निम्नलिखित स्थानों में बदलाव करना होगा यदि आप इसे मैन्युअल रूप से कर रहे हैं:

  • मार्ग
  • एप्लिकेशन / विचारों
  • एप्लिकेशन / नियंत्रकों
  • परीक्षा / नियंत्रकों
  • एप्लिकेशन / सहायक
  • एप्लिकेशन / आस्तियों / javascripts /
  • एप्लिकेशन / आस्तियों / स्टाइलशीट /

मॉडल के लिए, नोबिटा का जवाब बहुत अच्छा है