রাকের 'পরিবেশ' কাজটি কী?


120

" কাস্টম রেক টাস্কগুলি " অনুসারে:

desc "Pick a random user as the winner"
task :winner => :environment do
  puts "Winner: #{pick(User).name}"
end

আমি যতদূর জানি, এর :winner => :environmentঅর্থ " environmentআগে কর winner"। তবে কী environment? আমি কখন এটি ব্যবহার করব?

আমি চেষ্টা করেছি rake -T, কিন্তু তালিকায় আমি খুঁজে পেলাম না environment


নতুন সিনট্যাক্স স্ট্যাকওভারফ্লো.com
জাহান

উত্তর:


120

আপনি আপনার মডেলগুলিতে অ্যাক্সেস পেতে পারেন এবং বাস্তবে, পরিবেশ টাস্কের উপর নির্ভর করে কার্যগুলি তৈরি করে আপনার পুরো পরিবেশ। এটি আপনাকে পছন্দ মতো জিনিস করতে দেয় run rake RAILS_ENV=staging db:migrate

" কাস্টম রেক টাস্ক " দেখুন।


4
এটি উত্স কোথায় সংজ্ঞায়িত করা হয়? রকের কাজগুলি কোথায় তা আমি খুঁজে পেয়েছি এবং আমি একটি খালি টাস্ক সংজ্ঞা পেয়েছি যা 'অ্যাপ: পরিবেশ' এর উপর নির্ভর করে, তবে আমি অ্যাপ্লিকেশন: পরিবেশগত কার্যের সংজ্ঞাটি পাই না। github.com/rails/rails/blob/master/railties/lib/rails/tasks/…
অদ্ভুততা

4
@ অডিগিটি এখানে দেখতে দেখতে পাবেন: github.com/rails/rails/blob/v4.2.4/railties/lib/rails/…
কারসন

41

এটি আপনার রেল পরিবেশে লোড হয় যাতে আপনি প্রকৃতপক্ষে আপনার মডেলগুলি ব্যবহার করতে পারেন এবং কী না। অন্যথায়, এই জিনিসগুলি সম্পর্কে এটির কোনও ধারণা নেই।

সুতরাং আপনি যদি এমন কোনও কাজ করে থাকেন যা সবেমাত্র করেছে puts "HI!"তবে আপনার :environmentনির্ভরতাগুলিতে টাস্কটি যুক্ত করার দরকার নেই । তবে আপনি যদি User.find(1)ভাল কিছু করতে চান তবে এটির প্রয়োজন হবে।


35

এর সাথে => :environmentরাকে বলবে অ্যাপ্লিকেশন পরিবেশের পুরো অংশটি লোড করতে, ক্লাস, সহায়তাকারী ইত্যাদির মতো জিনিসগুলিতে প্রাসঙ্গিক টাস্কটি অ্যাক্সেস দেওয়া, ছাড়াই আপনার :environmentএই অতিরিক্তগুলির কোনওটিতে অ্যাক্সেস থাকবে না।

এছাড়াও => :environmentনিজেই দেখা যায় না প্রাপ্তিসাধ্য কোন পরিবেশে সংক্রান্ত ভেরিয়েবল, যেমন environment, @environment, RAILS_ENV, ইত্যাদি


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