ruby on rails - पेपरक्लिप का उपयोग करके फ़ाइल अपलोड प्रोग्रामेटिक रूप से कैसे सेट करें




ruby-on-rails paperclip (2)

मेरे पास फ़ेकर मणि का उपयोग करके यादृच्छिक डेटा के साथ एक एप्लिकेशन को बीज करने के लिए एक रेक कार्य है। हालांकि, हमारे पास छवियां (जैसे लोगो) हैं जिन्हें हम इस रेक कार्य में अपलोड करना चाहते हैं।

हमारे पास पहले से ही पेपरक्लिप स्थापित है, लेकिन एक रेक कार्य में प्रोग्रामेटिक रूप से अपलोड करने का कोई तरीका नहीं है। कोई विचार?


प्रोग्रामेटिक रूप से आपका क्या मतलब है? आप एक विधि स्थापित कर सकते हैं जो लाइनों के साथ एक फ़ाइल पथ ले जाएगा

my_model_instance = MyModel.new
file = File.open(file_path)
my_model_instance.attachment = file
file.close
my_model_instance.save!

#attachment हमारे मॉडल में हमारे पेपरक्लिप घोषणा से आता है। इस मामले में, हमारा मॉडल दिखता है

class MyModel < ActiveRecord::Base
  has_attached_file :attachment
end

प्रोजेक्ट को बूटस्ट्रैप करते समय हमने इसी तरह की चीजें की हैं।


मुझे वास्तव में इसके लिए एक विधि लिखनी नहीं थी। बहुत आसान

मॉडल में ->

Class Model_Name < ActiveRecord::Base
  has_attached_file :my_attachment,
  :params_for_attachment

Seed.db में ->

my_instance = Model_name.new
my_instance.my_attachment = File.open('path/to/file/relative/to/app')
my_instance.save!

शायद पिछले जवाब मॉडल में परिभाषित अनुलग्नक के नाम का उपयोग करने के लिए थे (एक विधि Model_name.attachment लिखने के बजाय)। उम्मीद है कि यह स्पष्ट है।







file-upload