मैं वर्तमान में नकली डेटा के समूह के साथ एक परियोजना पर एक विकास डेटाबेस को पॉप्युलेट करने की कोशिश कर रहा हूं, यह अनुकरण करने के लिए कि यह सैकड़ों लेखों/उपयोगकर्ताओं। मैंने कार्य करने के लिए विभिन्न रत्नों को देखा - जैसे कि फैक्टरी गर्ल, लेकिन दस्तावेज बहुत कम था और मुझे यह नहीं मिला - लेकिन पॉप्युलेटर और फेकर रत्नों का उपयोग करके समाप्त हो गया और निम्नलिखित रेक कार्य किया ...फर्जी डेटा के साथ पेपरक्लिप छवि अपलोड जेनरेट करना - रेल पॉप्युलेटर/फेकर रत्न पर रूबी
namespace :db do
desc "Testing populator"
task :populate => :environment do
require "populator"
require "faker"
User.populate 3 do |user|
name = Faker::Internet.user_name
user.name = name
user.cached_slug = name
user.email = Faker::Internet.email
user.created_at = 4.years.ago..Time.now
end
end
end
टेक्स्ट आधारित डेटा के लिए बहुत अच्छा काम करता है। हालांकि, सभी उपयोगकर्ताओं के पास अवतार होता है जिसे पेपरक्लिप अटैचमेंट के माध्यम से अपलोड किया जा सकता है, साथ ही साथ सभी नियमित सामग्री में थंबनेल अनुलग्नक भी उसी तरीके से होते हैं।
मुझे लगता है कि पॉप्युलेटर मणि डेटाबेस की सीधी आबादी को सीधे डेटाबेस में करता है और ऐसा नहीं करने के लिए सक्रिय रेकॉर्ड मान्यताओं के माध्यम से चल रहा है .. इसलिए मैं मानता हूं कि पेपरक्लिप सभी अलग-अलग थंबनेल और आवश्यक (और अपलोड करने के लिए) उचित निर्देशिका) अवतार के लिए अगर मैंने उपरोक्त रेक कार्य में फ़ाइलपैथ के साथ फ़ील्ड भर दिया है।
क्या पॉप्युलेटर या किसी अन्य तरीके से नकली छवियों को पॉप्युलेट करने का कोई तरीका है? या शायद मेरे हार्ड ड्राइव पर स्टॉक छवियों की निर्देशिका में रेक रिकॉर्ड को इंगित करने का एक तरीका प्रत्येक रिकॉर्ड के लिए यादृच्छिक थंबनेल स्वत: उत्पन्न करने के लिए? Google पर एक शिकार के लिए एक शिकार लिया, लेकिन इस विषय पर ज्यादा जानकारी नहीं बनाई है।
अद्यतन
अंतिम समाधान, सोच के pwnfactory की लाइन के आधार पर ...
namespace :db do
desc "Testing populator"
task :populate => :environment do
require "populator"
require "faker"
User.populate 3 do |user|
name = Faker::Internet.user_name
user.name = name
user.cached_slug = name
user.email = Faker::Internet.email
user.created_at = 4.years.ago..Time.now
end
User.all.each { |user| user.avatar = File.open(Dir.glob(File.join(Rails.root, 'sampleimages', '*')).sample); user.save! }
end
end
यह मूल रूप से वापस चारों ओर लूप और सभी रिकॉर्ड पर sampleimages निर्देशिका से अवतार अपलोड की गई।
ने इसे एक कोशिश की और उपरोक्त मेरे रेक कार्य में उस पंक्ति को डाला (और मेरे रेल प्रोजेक्ट में नमूनाकरण निर्देशिका को उचित रूप से बनाया) लेकिन यह निकल गया "रेक निरस्त हो गया! अपरिभाषित विधि 'अवतार =' # <पॉप्युलेटर :: रिकॉर्ड: 0x103fed130 > "काम चलाने पर। चूंकि डेटाबेस कॉलम को तीन (avatar_file_name, avatar_content_type, avatar_file_size) में विभाजित करता है, इसलिए ऐसा क्यों हो सकता है। – Shannon
आप उदाहरण के लिए, नाम आप अपने मॉडल में परिभाषित का उपयोग करना चाहिए: 'वर्ग फ़ोटो
acw
है मैं क्या कर रहा हूं, मेरे उपयोगकर्ता मॉडल से लगाव 'अवतार' (has_attached_file: अवतार) नाम दिया गया है। – Shannon