Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2021, 14:59
Профессор
Отправить личное сообщение для Manyasha Посмотреть профиль Найти все сообщения от Manyasha
 
Регистрация: 21.09.2015
Сообщений: 196

express response.render по нескольким шаблонам
Всем привет!

Только начала изучать Node.js, подтолкните, пожалуйста, в нужном направлении.

Основная задача: создать одностраничный опросник.

Вопросы решила описать через json. Для каждого вопроса указывается id, текст вопроса, варианты ответа, тип вопроса и т.д.
Для каждого типа вопроса создала шаблон (pug). Отдельно для вопросов radio (единственный выбор), checkbox (множественный выбор), open (текстовый ответ, вписываемый в textarea) и т.д.
Пример шаблона для вопроса-radio:
include outer.pug
    table.inner_table
        each val in answ
            tr 
                td
                    label #[input(type='radio', name=`${id}`, value=`${val.r}`, id=`${id}_${val.r}`)] !{val.lab}


Дальше, думала перебирать json и в зависимости от типа рендерить нужный шаблон:
let jsonData = require('./study.json');

app.get("/", function(request, response){
   for (let i=0; i<jsonData.length; i++){
       if (jsonData[i].type == "radio"){
            response.render("radio", jsonData[i]);
       }//и т.д.
   }
    //response.send("Главная страница"); 
});


Я понимаю, что это не правильно, да оно так и не работает.

Подскажите, пожалуйста, каким способом можно подгрузить несколько шаблонов на одну страницу?
Если я совсем в не ту сторону думаю, пожалуйста, тоже выскажитесь. Может надо совсем все по другому делать?
Ответить с цитированием