Скрепка: Как сохранить картинку в консоли Rails? - PullRequest
36 голосов
/ 13 января 2011

Я попытался сохранить локальное изображение в консоли rails.

Поскольку у меня в локальном хранилище много картинок (я использую сканер, чтобы загрузить тонны картинок), я хочу сохранить их в базе данных с помощьюпреимущество скрепки для работы с изображениями, например эскизов и т. д. Если я использую веб-страницу для сохранения новых изображений в базу данных одна за другой, это будет стоить много времени.Поэтому я хочу найти в консоли rails способ (некоторый код), который может пакетно сохранять изображение в базу данных.

Ответы [ 4 ]

54 голосов
/ 04 июня 2011

Чтобы уточнить ответ @ Андреа:

YourPaperclippedModelHere.new(:your_paperclip_field => File.new(path, "r"))

Итак, если ваша модель называется Image, а поле скрепки - данные

Image.new(:data => File.new(path_to_your_file, "r"))

18 голосов
/ 04 февраля 2011

Если это модель:

class User < ActiveRecord::Base
  has_attached_file :avatar
end

тогда из консоли должно работать следующее:

>> User.create(:avatar => File.open('/path/to/image.jpg', 'rb'))
2 голосов
/ 13 января 2011

Я не знаю, если это то, что вы хотите ... но сохранить актив скрепки из консоли Вы можете просто использовать экземпляр файла.AE

Image.new :data=>File.new("/path/to/image.jpg","r")
1 голос
/ 11 ноября 2017

Поздний ответ, но, надеюсь, он будет работать для других. Вы должны включить.

File.new("#{Rails.root}/public/images/default_avatar.png", "r")

...