Контекст в Handlebars Express

Пусть в представление передается объект с юзером и некоторая переменная name:

javascriptapp.get('/page/', function(req, res) {
  res.render('page', {
    name: 'test',
    user: {name: 'john', age: 30}
  });
});

Давайте выведем переданные данные в представлении:

views/page.hbsимя из переменной: {{name}}

{{#with user}}
  имя из юзера: {{name}}
{{/with}}

Как вы видите, имя переменной name совпадает с ключом. Пусть мы хотим вывести в конструкции with как имя из переменной, так и имя из объекта с юзером. Так просто это сделать не получится, ведь команды на вывод будут совпадать:

views/page.hbs{{#with user}}
  имя из юзера: {{name}}
  имя из переменной: {{name}} - выведет имя юзера
{{/with}}

Для того, чтобы вывести именно имя из переменой, мы должны сказать шаблонизатору, что хотим взять значение name из внешнего контекста. Для этого перед именем переменной следует написать ../:

views/page.hbs{{#with user}}
  имя из юзера: {{name}}
  имя из переменной: {{../name}}
{{/with}}
Задание 1

Пусть в представление передаются следующие данные:

javascriptres.render('page', {
  amount: 10,
  
  product: {
    name: 'prod',
    cost: 1000,
    amount: 5
  }
});

Выведите данные продукта в конструкции with. Там же выведите значение переменной amount.