Nie jestem pewien, czy zrozumiałem Twoje pytanie - czy chcesz zdalnie uruchamiać zadanie rake lub importować obrazy?
W późniejszym przypadku istnieje odpowiedź.
Najpierw trzeba jakiś model, aby zachować obrazy, a może jakieś inne dane, coś takiego:
class Picture < ActiveRecord::Base
has_attached_file :image, :styles => {
:thumb => "100x100>",
:big => "500x500>"
}
end
Można tworzyć proste zadania Rake w folderze lib/zadań (należy nazwać plik. rozszerzenie grabie)
namespace :import do
desc "import all images from SOURCE_DIR folder"
task :images => :environment do
# get all images from given folder
Dir.glob(File.join(ENV["SOURCE_DIR"], "*")) do |file_path|
# create new model for every picture found and save it to db
open(file_path) do |f|
pict = Picture.new(:name => File.basename(file_path),
:image => f)
# a side affect of saving is that paperclip transformation will
# happen
pict.save!
end
# Move processed image somewhere else or just remove it. It is
# necessary as there is a risk of "double import"
#FileUtils.mv(file_path, "....")
#FileUtils.rm(file_path)
end
end
end
Następnie można wywołać ręcznie grabie zadania z poziomu konsoli dostarczanie parametr SOURCE_DIR który będzie folder na serwerze (może to być prawdziwy folder lub montowany zdalnie)
rake import:images SOURCE_DIR=~/my_images/to/be/imported
Jeśli planujesz uruchomić to automatycznie, polecam wybrać się do klejnotu Resque Scheduler.
Aktualizacja: Aby zachować rzeczy proste, ja celowo pominięte wyjątek obsługi
ja też to potrzebne do konwersji ze starego systemu, w którym pliki są statyczne na dysku do środowiska Rails. Zasadniczo wystarczy otworzyć plik i przypisać go do atrybutu docelowego "has_attached_file" atrybut i zapisać. – Chloe