खोज…


रेल 4.2 से रेलगाड़ी 5.0 तक उन्नयन

नोट: अपने रेल एप्लिकेशन को अपग्रेड करने से पहले, अपने कोड को एक संस्करण नियंत्रण प्रणाली, जैसे कि Git, पर हमेशा सहेजना सुनिश्चित करें।


रेल 4.2 से रेल 5.0 पर अपग्रेड करने के लिए, आपको रूबी 2.2.2 या नए का उपयोग करना चाहिए। यदि आवश्यक हो तो अपने रूबी संस्करण को अपग्रेड करने के बाद, अपने Gemfile पर जाएं और लाइन बदलें:

gem 'rails', '4.2.X'

सेवा:

gem 'rails', '~> 5.0.0'

और कमांड लाइन रन पर:

$ bundle update

अब कमांड का उपयोग करके अपडेट कार्य चलाएं:

$ rake rails:update

यह आपको कॉन्फ़िगरेशन फ़ाइलों को अपडेट करने में मदद करेगा। आपको फ़ाइलों को अधिलेखित करने के लिए प्रेरित किया जाएगा और आपके पास इनपुट के लिए कई विकल्प हैं:

  • वाई - हाँ, अधिलेखित करें
  • n - नहीं, अधिलेखित न करें
  • a - सभी, इस और सभी अन्य को अधिलेखित करें
  • क्ष - छोड़ो, गर्भपात करो
  • डी - अंतर, पुराने और नए के बीच के अंतर को दिखाएं
  • ज - मदद

आमतौर पर, आपको यह सुनिश्चित करने के लिए पुरानी और नई फ़ाइलों के बीच अंतर की जांच करनी चाहिए कि आपको कोई अवांछित परिवर्तन नहीं मिल रहे हैं।

ActiveRecord::Base बजाय, 5.0 ActiveRecord मॉडल ApplicationRecord से प्राप्त होते हैं। ApplicationRecord सभी मॉडलों के लिए सुपरक्लास है, इसी तरह से ApplicationController नियंत्रकों के लिए सुपरक्लास है। इस नए तरीके के लिए जिसमें मॉडल को संभाला जाता है, आपको अपने app/models/ फ़ोल्डर में एक फ़ाइल बनाना होगा जिसे application_record.rb कहा जाता application_record.rb और फिर उस फ़ाइल की सामग्री को संपादित करें:

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

रेल 5.0 भी कॉलबैक को थोड़ा अलग करता है। कॉलबैक जो false रिटर्न false , कॉलबैक श्रृंखला को रोक नहीं पाएंगे, जिसका अर्थ है कि कॉलबैक अभी भी चलेगा, रेल 4.2 के विपरीत। जब आप अपग्रेड करते हैं, तो रेल 4.2 व्यवहार रहेगा, हालांकि आप रेल 5.0 व्यवहार को जोड़कर स्विच कर सकते हैं:

ActiveSupport.halt_callback_chains_on_return_false = false

config/application.rb फ़ाइल में। आप स्पष्ट रूप से throw(:abort) कॉल throw(:abort) द्वारा कॉलबैक श्रृंखला को रोक सकते हैं।

रेल 5.0 में, ActiveJob से प्राप्त कर लेंगे ApplicationJob बजाय, ActiveJob::Base रेल 4.2 में की तरह। रेल 5.0 में अपग्रेड करने के लिए app/jobs/ फोल्डर में application_job.rb नामक फाइल बनाएं। उस फ़ाइल की सामग्री को संपादित करें:

class ApplicationJob < ActiveJob::Base
end

उसके बाद, आपको ActiveJob::Base बजाय ApplicationJob से विरासत में अपनी सभी नौकरियों को बदलना होगा।

रेल 5.0 के अन्य सबसे बड़े परिवर्तनों में से किसी को कोड परिवर्तन की आवश्यकता नहीं है, लेकिन आप अपने रेल एप्लिकेशन के साथ कमांड लाइन का उपयोग करने के तरीके को बदल देंगे। आप कार्यों और परीक्षणों को चलाने के लिए bin/rails , या बस rails का उपयोग कर पाएंगे। उदाहरण के लिए, $ rake db:migrate का उपयोग करने के बजाय, अब आप $ rails db:migrate कर सकते हैं। यदि आप $ bin/rails चलाते हैं, तो आप सभी उपलब्ध कमांड देख सकते हैं। ध्यान दें कि कई कार्य जो अब bin/rails साथ चलाए जा सकते हैं वे अभी भी rake का उपयोग करके काम करते हैं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow