কীভাবে একটি 'রেল জেনারেট' বিপরীত করবেন


471

আমি এটি তৈরি করা সমস্ত ফাইল মুছতে চাই এবং যে কোনও পরিবর্তন করা হয়েছে তা পুনরায় ফিরিয়ে আনতে চাই তবে অগত্যা ডাটাবেসে নয়, কনফিগার ফাইলগুলিতে আরও কিছু করতে চাই।

আমি রুটস.আরবি ফাইলে মুছে ফেলা মডেল / নিয়ন্ত্রকের জন্য সমস্ত সংস্থান ম্যাপিংগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলতে চাই এবং অন্য যে কোনও জায়গায় পরিবর্তনগুলি করা হতে পারে?

উত্তর:


929
rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho

রেল ৩.২ dকমান্ডটিতে একটি নতুন শর্টকাট যুক্ত করেছে, তাই এখন আপনি লিখতে পারেন:

rails d controller lalala
rails d model yadayada
rails d scaffold hohoho

1
বিটিডব্লিউ, আমি কীভাবে এই কমান্ডটি একটি স্ক্যাফোল্ড মুছতে ব্যবহার করব? মডেল এবং নিয়ন্ত্রক সূক্ষ্মভাবে কাজ করে ... তবে আমি কীভাবে পুরোপুরি একটি স্ক্যাফোল্ডটিকে বিপরীত করব?
মার্চামিলিয়ন

6
ঠিক আছে, আমি এটি বুঝতে পেরেছি। সম্ভবত আমি কিছু ভুল টাইপ ছিল। আমি কেবল দৌড়েছি rails destroy scaffold lalalalএবং এটি কাজ করেছে।
মার্চামিলিয়ন

38
@ মারকামিলিয়ন অবশ্যই অতিরিক্ত 'এল' হয়েছে।
ভারতিস

1
রত্ন ইনস্টলের সাথে যুক্ত ফাইলগুলি অপসারণ সম্পর্কে কীrails generate <gemname>:install
ডগ

2
@ ডগ, আমি মনে করি এটি সম্ভব নয়। আপনার সেরা বাজি হ'ল জেনারেটরটিকে কেবল -fফাইলগুলি পুনরায় তৈরি / পুনর্নির্মাণে বাধ্য করার জন্য পতাকা দিয়ে পুনরায় চালিত করা ... তারপরে আপনি দেখতে পাচ্ছেন যে এটি কোন ফাইল তৈরি করেছে / পরিবর্তিত হয়েছে এবং সেগুলি ম্যানুয়ালি মুছে ফেলার জন্য এগিয়ে যেতে পারেন।
ফেবিও বাতিস্তা

49

ভান করার-p জন্য এটি এখানে পতাকাটির উল্লেখযোগ্য ("পি") মূল্যবান )।

আপনি যদি কমান্ডটিতে এটি যুক্ত করেন এটি কেবল একটি "পরীক্ষা" চালায় এবং আপনাকে ফাইলগুলি মুছে ফেলা ছাড়া মুছে ফেলা হবে তা দেখাবে।

$ rails d controller welcome -p

  remove  app/controllers/welcome_controller.rb
  invoke  erb
  remove    app/views/welcome
  invoke  test_unit
  remove    test/controllers/welcome_controller_test.rb
  invoke  helper
  remove    app/helpers/welcome_helper.rb
  invoke    test_unit
  remove      test/helpers/welcome_helper_test.rb
  invoke  assets
  invoke    coffee
  remove      app/assets/javascripts/welcome.js.coffee
  invoke    scss
  remove      app/assets/stylesheets/welcome.css.scss

আপনি যদি এতে খুশি হন তবে -pপতাকা ছাড়াই আবার কমান্ডটি চালান ।


আমি মনে করি এটি সেরা উত্তর
এমিল রেয়া এনরিকুজেজ

24

rails destroy controller Controller_nameএকগুচ্ছ ত্রুটি ফিরিয়ে দিচ্ছিল। নিয়ামকটি ধ্বংস করতে সক্ষম হতে আমাকে আমার কাছে রুট.আরবি সম্পর্কিত রুটগুলি সরিয়ে ফেলতে হয়েছিল। পিএস আমি রেল ব্যবহার করছি 3.1


আপনি যদি এই উত্তরটি নির্বাচিত সঠিক উত্তর হিসাবে অভিযুক্ত না করেন তবে দয়া করে আপনার ক্রিয়াগুলি সংক্ষিপ্ত করবেন না।
টিন ম্যান

11

এটি রেলগুলিতে একটি নিয়ামক বা মডেল উত্পন্ন বা ধ্বংস করার জন্য একটি প্রোটোটাইপ:

rails generate/destroy controller/model [controller/model Name]

উদাহরণস্বরূপ, আপনার যদি কোনও ব্যবহারকারী নিয়ামক তৈরি করতে হয়:

rails generate controller User

অথবা

rails g controller User

আপনি যদি ব্যবহারকারী নিয়ন্ত্রককে ধ্বংস করতে চান বা উপরের ক্রিয়াটিতে ফিরে যেতে চান তবে ব্যবহার করুন:

rails destroy controller User

বা:

rails d controller User

এখানে চিত্র বর্ণনা লিখুন


4

কমান্ডটি rails d model/controller/migration ...ব্যবহার করে উত্পন্ন পরিবর্তনগুলি ধ্বংস করতে বা অপসারণ করতে আপনি ব্যবহার করতে পারেন rails generate

উদাহরণ স্বরূপ:

rails g model Home name:string

homeবৈশিষ্ট্যযুক্ত একটি মডেল তৈরি করে name। এই কমান্ড থেকে উত্পন্ন ফাইল এবং কোড সরিয়ে আমরা ব্যবহার করতে পারি

rails d model Home

3

আপনি সামান্য জিনিস পরিবর্তন বাদে একইভাবে তৈরি করা সমস্ত জিনিস ধ্বংস করতে পারেন। নিয়ামকের জন্য,

rails d controller_name (d stands for destroy)

মডেল জন্য

rails d model_name

আপনি আপনার স্থানান্তরের d(destroy)পরিবর্তে সরিয়ে রেখেছেন g(generate)


3

আপনি যদি নিয়ন্ত্রকটিকে ম্যানুয়ালি মুছে ফেলতে পছন্দ করেন:

নিয়ামক জন্য welcome

rm app/controllers/welcome_controller.rb
rm app/views/welcome
rm test/controllers/welcome_controller_test.rb
rm app/helpers/welcome_helper.rb
rm test/helpers/welcome_helper_test.rb
rm app/assets/javascripts/welcome.js.coffee
rm app/assets/stylesheets/welcome.css.scss

3

আপনি আপনার ফিরে যেতে পারেন

rails g/generate controller/model/migration xxx

ব্যবহার করে আউটপুট:

 rails d/destroy controller/model/migration xxx

3

মনে করুন আমি "নমুনা" এর মতো একটি নিয়ামক তৈরি করেছি যেমন:

rails generate controller sample

আমি এই নিয়ামক ধ্বংস করতে থাকে, তাহলে আমি যা করতে হবে swap 'র হয় generateসঙ্গে destroy, হিসাবে

rails destroy controller sample.

আপনি প্রজন্ম বিপরীত করতে চান তাহলে, সব আপনাকে যা করতে হবে swap 'র হয় generateসঙ্গে destroy


3

আপনি যদি রেল ব্যবহার করেন তবে ব্যবহার করুন rails d controller Users

আপনি যদি জিউস ব্যবহার করেন তবে ব্যবহার করুন zeus d controller Users

অন্যদিকে, আপনি যদি গিট বা এসভিএন ব্যবহার করছেন, আপনার পরিবর্তনগুলি কমিট নম্বর দিয়ে ফিরিয়ে দিন। এটি অনেক দ্রুত।


3

আপনি rails generateনিম্নলিখিত উপায়ে একটিটিকে পূর্বাবস্থায় ফিরিয়ে নিতে পারেন :

  • মডেলের জন্য: rails destroy MODEL
  • নিয়ামকের জন্য: rails destroy controller_name

1

এটির বিপরীতে, আমরা কেবল এটি ধ্বংস করব। টার্মিনাল অ্যাপ্লিকেশনটি খুলুন এবং প্রকল্প ডিরেক্টরিতে যান, তারপরে, এটি টাইপ করুন:

rails destroy model CamelCase
rails destroy controller CamelCase

যেখানে CamelCaseকোনও মডেল বা নিয়ামকের নাম। এটি মডেল, মাইগ্রেশন এবং সম্পর্কিত কিছু ফাইল ফাইল সরিয়ে ফেলবে। (আপনি কমান্ডটি চালানোর পরে টার্মিনাল উইন্ডোতে ফলাফলটি দেখতে পাবেন))


0

আমরা হিসাবে জেনারেট ব্যবহার rails generate app। সুতরাং যে কোনও generateবিবৃতি পুনরায় জেনারেট করা destroyস্টেটমেন্ট ব্যবহার করে বিপরীত হতে পারে । শুধু প্রতিস্থাপন generateসঙ্গে destroy অর্থাত rails generate appলেখা যেতে পারে যেমন rails destroy app' পাগল উৎপন্ন ____ asপাগল ধ্বংস ____ `



0

পূর্বাবস্থায় ফেরানোর আগে rails generate, দয়া করে নিশ্চিত হয়ে নিন যে আপনি স্থানান্তরটি রোলব্যাক করেছেন প্রথমে ।

কেস 1: আপনি যদি স্ক্যাফোल्डটি ফিরিয়ে নিতে চান তবে এই কমান্ডটি চালান:

rails destroy scaffold MODEL_NAME

কেস 2: আপনি যদি মডেলটি ফিরিয়ে নিতে চান তবে এই কমান্ডটি চালান:

rails destroy model MODEL_NAME

কেস 3: আপনি যদি নিয়ামককে ফিরিয়ে নিতে চান তবে এই কমান্ডটি চালান:

rails destroy controller CONTROLLER_NAME

দ্রষ্টব্য: আপনি এর dপরিবর্তে শর্টকাটও ব্যবহার করতে পারেন destroy



0

রেলের সমস্ত সংস্করণগুলিতে একটি "ধ্বংস" রয়েছে, সুতরাং, যদি আপনি একটি জেনারেটর ব্যবহার করে "কার্য" নামে একটি স্কেলফোল্ড তৈরি করেন, তবে সেই উত্পন্ন পদক্ষেপের সমস্ত পরিবর্তনগুলি নষ্ট করতে আপনাকে টাইপ করতে হবে:

rails destroy scaffold Tasks

আশা করি এটি আপনাকে সহায়তা করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.