добавление модели в коллекцию реляционной модели в событии ajax - PullRequest
0 голосов
/ 11 января 2012

У меня есть модель рецепта, а в рецепте есть коллекция ингредиентов, в которой хранится куча ингредиентов.

Когда я добавляю ингредиент в список ингредиентов из отправки формы, я должен получить «id» с сервера, поэтому я делаю ajax-запрос, получаю id и пытаюсь затем добавитьингредиент для модели.

В моем componentlist.view у меня есть

    initialize: function(){
        this.recipe = this.model;
        },

         get_ingredient: function(ingredient){
            var ingredient_id = new MyApp.Models.Ingredient;
        ingredient.url='/ingredients/?ing='+encodeURIComponent(ingredient_array[i]);

        ingredient.fetch({

            success: function() {
                this.recipe('add:ingredients', function(ingredient,ingredientlist){

                });
            },
            error: function() {
                new Error({ message: "adding ingredient" });
            }
        });
        }

Я не включил функцию, которая запускает get_ingredient, потому что я получаю ajax нормально, поэтому проблемаЭто не вызывает get_ingredient.

Я получаю ошибку Uncaught TypeError: Property 'recipe' of object [object DOMWindow] is not a function, используя существующий код.

каков наилучший способ сделать что-то подобное?

1 Ответ

1 голос
/ 11 января 2012

Прежде всего, я тоже новичок с backbone.js! Итак, мои мысли:

  • Вам нужно привязать ваш get_ingredient в вашем View: посмотрите bind , чтобы вызвать ваши функции!
  • Попробуйте передать контекст (это) в "get_ingredients"

Это всего лишь мои 5 центов

...