Ich habe eine Rechenaufgabe, um eine Anwendung mit zufälligen Daten unter Verwendung des Fälscheredelsteins zu erstellen. Wir haben jedoch auch Bilder (wie Logos), die wir in dieser Rechenaufgabe hochladen möchten.
Wir haben bereits eine Büroklammer eingerichtet, können sie jedoch nicht programmgesteuert in eine Rechenaufgabe hochladen. Irgendwelche Ideen?
attachment
ist was auch immer Sie eingestellt habenhas_attached_file :attachment,
attachment
ein reserviertes Wort oder ein Benutzer definiert ist.#close
oder Blöcke) bevorzugen Sie? Auch das Predigen ist ein bisschen stark, oder? Ihr Punkt wird jedoch gut aufgenommen.Ich mache so etwas in einer Rechenaufgabe.
photo_path = './test/fixtures/files/*.jpg' Dir.glob(photo_path).entries.each do |e| model = Model.find(<query here>) model.attachment = File.open(e) model.save end
Ich hoffe das hilft!
quelle
Ich musste dafür eigentlich keine Methode schreiben. Viel einfacher.
Im Modell ->
Class Model_Name < ActiveRecord::Base has_attached_file :my_attachment, :params_for_attachment
In seed.db ->
my_instance = Model_name.new my_instance.my_attachment = File.open('path/to/file/relative/to/app') my_instance.save!
Möglicherweise sollten die vorherigen Antworten den im Modell definierten Namen des Anhangs verwenden (anstatt eine Methode Model_name.attachment zu schreiben). Hoffe das ist klar.
quelle
my_instance = Model_name.create!(my_attachment: File.open('path/to/file/relative/to/app'))