Хорошо, я понял это.Чтобы немного взломать.Таким образом, в настоящее время carrierwave не предоставляет хук after_create, все это сохраняется и обработка происходит в обратном вызове after_save.Вот код, который я использовал для обхода:
# Video.rb
mount_uploader :file, VideoUploader
# overwrite the file setting to flag the model that we are creating rather than saving
def file=(obj)
@new_file = true
super(obj)
end
# chain the store_file! method to enqueue_for_encoding after storing the file AND
# if the file is new
alias_method :orig_store_file!, :store_file!
def store_file!
orig_store_file!
if @new_file #means dirty
@new_file = false
enqueue_for_encoding
end
true
end
ОБНОВЛЕНИЕ
Woops - это не сработало.Это почти сделал - URL-адрес правильный, но он увольняется постоянно.Это означает, что файл все еще находится в процессе загрузки и не полностью сохраняется, когда enqueue_for_encoding называется