ruby on rails - Rail rake কাজ ActiveRecord মডেল অ্যাক্সেস প্রদান করবেন না?




ruby-on-rails task (4)

: পরিবেশ নির্ভরতা পুরোপুরি সঠিকভাবে বলা হয়, তবে আপনার মডেলগুলির উপর নির্ভর করে এমন অন্যান্য রত্নগুলি সম্পর্কে এখনও জানা যায়নি - আমার এক ক্ষেত্রে, 'সুরক্ষিত_ব্যাপ্তি'।

উত্তর চালানোর জন্য:

bundle exec rake test:new_task

এই পরিবেশ আপনার Gemfile নির্দিষ্ট কোন রত্ন রয়েছে যে গ্যারান্টি।

আমি একটি কাস্টম रेक টাস্ক তৈরি করার চেষ্টা করছি, কিন্তু মনে হচ্ছে আমার মডেলগুলিতে অ্যাক্সেস নেই। আমি এই implicitly রেল টাস্ক সহ কিছু অন্তর্ভুক্ত ছিল।

আমার নিম্নলিখিত কোডটি lib / tasks / test.rake আছে:

namespace :test do
  task :new_task do
    puts Parent.all.inspect
  end
end

এবং এখানে আমার পিতা-মাতা মডেলের মত দেখাচ্ছে:

class Parent < ActiveRecord::Base
  has_many :children
end

এটি একটি সুন্দর উদাহরণ, কিন্তু আমি নিম্নলিখিত ত্রুটি পেতে পারি:

/> rake test:new_task
(in /Users/arash/Documents/dev/soft_deletes)
rake aborted!
uninitialized constant Parent

(See full trace by running task with --trace)

কোন ধারনা? ধন্যবাদ


আপনি আপনার কনফিগারেশন প্রয়োজন হতে পারে (যা আপনার সব প্রয়োজনীয় মডেল ইত্যাদি উল্লেখ করা উচিত)

উদাহরণ:

require 'config/environment'

বিকল্পভাবে আপনি শুধুমাত্র প্রতিটি পৃথক প্রয়োজন হতে পারে, কিন্তু আপনি পরিবেশগত সমস্যা থাকতে পারে এআর সেট আপ না ইত্যাদি)


নতুন রুবি হ্যাশ সিনট্যাক্স (রুবি 1.9) এর সাথে পরিবেশকে এইভাবে র্যাক টাস্কে যোগ করা হবে:

namespace :test do
  task new_task: :environment do
    puts Parent.all.inspect
  end
end

নীচের কমান্ড ব্যবহার করে টাস্ক তৈরি করুন (টাস্ক নাম দিয়ে নামস্থান):

rails g task test new_task

যুক্তি যুক্ত করতে সিনট্যাক্সের নীচে ব্যবহার করুন:

namespace :test do
  desc 'Test new task'
  task new_task: :environment do
    puts Parent.all.inspect
  end
end

নীচের কমান্ড ব্যবহার করে টাস্ক উপরে চালান:

bundle exec rake test:new_task  

অথবা

 rake test:new_task




task