Отсутствует помощник "выбрать"? - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь показать выбранную опцию из mongodb. Я много раз пытался решить эту проблему, проверяя разные источники. я получил эту ошибку (ошибка: отсутствует помощник: "выберите")

вот мой файл handlebar_helper.js

module.exports = (Handlebars)=>{
  Handlebars.registerHelper('select', function(selected, options) {
    return options.fn(this).replace(new RegExp('value = \"'+ selected + '\"'), '$&selected="selected"');
  });

};

вот мой главный файл app.js

const {select} = require('./helpers/handlebars_helpers');

app.engine('handlebars', exphbs({defaultLayout: 'home', helpers: {select: select}}));
app.set('view engine', 'handlebars');

здесь есть edit.handlebars

{#select post.status}}
            <option value="public">Public</option>
            <option value="private">Private</option>
            <option value="draft">Draft</option>
    {{/select}}

1 Ответ

0 голосов
/ 02 ноября 2018

Вам не нужно вызывать registreHelper, если вы собираетесь передавать вспомогательные функции в качестве аргументов. Просто экспортируйте саму функцию ":

handlebar_helper.js:

module.exports = function(selected, options) {
    return options.fn(this).replace(new RegExp('value = \"'+ selected + '\"'),'$&selected="selected"');
}

все остальное должно работать без изменений.

Конечно, это делает имя файла помощника немного странным. Я бы переименовал его в select_helper.js - но это просто мнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...