Nano Hash - криптовалюты, майнинг, программирование

Ember Data с использованием неправильного метода запроса при добавлении вычисляемого свойства

У меня есть подробное наблюдение по этому поводу. Не уверен, что я делаю неправильно здесь. У меня есть определение модели, в котором я вычисляю логическое значение. Что приводит к тому, что метод deleteRecord() отправляет данные с неправильным методом запроса (POST вместо DELETE). Также, когда я вызываю метод save(), он отправляет запрос через PUT вместо POST

Обратите внимание: код работает нормально, когда я удаляю определение вычисляемого свойства.

Определение модели

var attr = DS.attr(),
    string = DS.attr('string'),
    boolean = DS.attr('boolean'),
    number = DS.attr('number'),
    hasMany = DS.hasMany();

App.Status = DS.Model.extend({
    sticky: boolean,
    title: string,
    date: string,
    categories: attr,
    content: string,
    comment_allowed: boolean,
    replying: DS.attr('boolean', {defaultValue: false}),

    isNew: function(){ 
        var unix = parseInt( moment(this.get('date')).format('X') );
        var current = parseInt(moment().format('X'));
        var four_hours = 60 * 60 * 4;
        return ( (unix + four_hours) > current);
    }.property('date')

});

Удаление элемента из контроллера

Когда я пытаюсь удалить запись из формы, обработчик действий destroyRecord() делает запрос ajax с POST вместо DELETE. Также URL-адрес запроса неверен. Он получает сообщения на /statuses вместо /status/id

App.IndexController = Ember.ArrayController.extend({
    actions: {

        deleteStatus: function(status_id){

            if(!confirm('Are you sure you want to delete this status?'))
                return;

            this.store.find('status', status_id).then(function(status){
                console.log(status);
                status.destroyRecord();
            });
        }
    }
});

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

Редактировать

Найдите код для RESTAdapter ниже. Опять же, если я закомментирую часть Computed Property, код будет работать нормально.

App.ApplicationAdapter = DS.RESTAdapter.extend({
    host: config.siteUrl,
    namespace: 'wp-json',
    headers: {
        "X-WP-Nonce": config.nonce
    }
});
18.12.2014

  • Вы как-то расширили свой DS.RESTAdapter? 18.12.2014
  • @RamyBenAroya Обновил вопрос 18.12.2014

Ответы:


1

Вы не можете использовать isNew для имени свойства, так как ember-data уже использует его для своих целей. Попробуйте изменить свойство на isRecent или что-то подобное.

18.12.2014
  • Вот оно! Не знал, что isNew зарезервировано!! Спасибо! 19.12.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..