Загрузите заархивированный файл и разархивируйте его, сохраняя при этом исходный каталог

Это не всегда необходимо, но у него есть свои возможности. Предположим, мы хотели создать метод копирования на базовом классе Person. Например:

// define the Person Class  
function Person(name) {
    this.name = name;
}  

Person.prototype.copy = function() {  
    // return new Person(this.name); // just as bad
    return new this.constructor(this.name);
};  

// define the Student class  
function Student(name) {  
    Person.call(this, name);
}  

// inherit Person  
Student.prototype = Object.create(Person.prototype);

Теперь, что происходит, когда мы создаем новый Student и копируем его?

var student1 = new Student("trinth");  
console.log(student1.copy() instanceof Student); // => false

Копия не является экземпляром Student. Это связано с тем, что (без явных проверок) мы не смогли бы вернуть копию Student из «базового» класса. Мы можем вернуть только Person. Однако, если бы мы сбросили конструктор:

// correct the constructor pointer because it points to Person  
Student.prototype.constructor = Student;

... тогда все работает так, как ожидалось:

var student1 = new Student("trinth");  
console.log(student1.copy() instanceof Student); // => true
0
задан sawa 16 January 2019 в 09:31
поделиться

1 ответ

Самый простой способ проверить, работает ли ваш код - вы можете синхронно обрабатывать его в контроллере после успешного сохранения модели (в действии create).

Для большинства реальных сценариев, где файлы могут быть большими и требовать времени для обработки - лучший способ - асинхронная обработка в фоновых заданиях, поскольку рельсы имеют среду ActiveJob

0
ответ дан Vasfed 16 January 2019 в 09:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: