У меня есть модель рецепта, а в рецепте есть коллекция ингредиентов, в которой хранится куча ингредиентов.Добавление модели к коллекции реляционной модели в событии ajax
Когда я добавляю ингредиент в список ингредиентов из формы submit, я должен получить «идентификатор» с сервера, поэтому я делаю запрос ajax, получаю идентификатор и пытаюсь добавить компонент к модель.
В моей ingredientlist.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», потому что это я получаю АЯКС штраф, так что проблема не в инициировании «get_ingredient».
Я получаю сообщение об ошибке Uncaught TypeError: Property 'recipe' of object [object DOMWindow] is not a function
используя существующий код.
Каков наилучший способ добиться чего-то подобного?
Я не уверен, что вы имеете в виду о передаче 'Context (это)', вы можете разрабатывающими ? может быть, пример кода? Я связал 'get_ingredient' в инструкции инициализации представления, но когда я пытаюсь вывести' console.log (this.recipe) ', я все равно получаю undefined. – pedalpete
Как вы передаете свою модель в представление? вы должны проверить, действительно ли модель передана, например: в маршрутизаторе (если вы используете один)! – trouble
Да, я передаю его на просмотр через маршрутизатор. В моем заявлении инициализации в представлении у меня есть 'console.log (this.model)', и это исключает модель без проблем, и модель имеет структуру реляционной, так что это тоже не проблема. – pedalpete