На самом деле, говоря, что ваш код работает, как ожидалось. Поскольку мы помещаем объект JAVASCRIPT (this.recipe.ingredients) в скрытое поле, нам необходимо преобразовать этот объект JAVASCRIPT в строковое значение, чтобы передать его в виде данных FORM.
Чтобы выполнить преобразование, вам нужно создать и зарегистрировать помощник руля, как показано ниже
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
Также вам нужно использовать этого помощника в соответствующем месте, как показано ниже.
<input type="hidden" name="recIngredients" value="{{json this.recipe.ingredients}}"/>
Кстати, если вы сделаете скрытое поле текстовым, вы легко сможете найти проблемы (надеюсь).
Пожалуйста, подтвердите, что это работает или не для вас:)