2015-11-24 2 views
1

Я начинаю играть с фреймворком Strapi и пытаюсь использовать Handlebars и маршруты, чтобы показать страницу. Я последовал за документы, и я создал контроллер с этим:Strapi framework: не удается получить мою страницу.

find: function *() { 
    try { 
     yield this.render('user', { 
      firstname: 'John', 
      lastname: 'Doe' 
     }); 
    } catch (error) { 
     this.body = error; 
    } 
    }, 

и файл маршрутизатора с этим:

{ 
    "routes": { 
     "GET /": { 
     "controller": "strap", 
     "action": "find" 
     } 
    } 
    } 

Он работает (без ошибок), но я получаю 404 не найден статус и не моя страница, которая находится в views/user.html, как в документах. Что мне не хватает?

ответ

2

Интересно ... Ваш контроллер и маршрут выглядят хорошо.

Убедитесь, что ваш конфиг выглядит следующим образом:

{ 
    "views": { 
    "map": { 
     "html": "handlebars" 
    }, 
    "default": "html" 
    } 
} 

Вам не нужно указать расширение файла в контроллере, только если у вас есть ключ default отображения в вашей конфигурации. В противном случае вам нужно указать расширение, как это:

find: function *() { 
    try { 
    yield this.render('user.html', { 
     firstname: 'John', 
     lastname: 'Doe' 
    }); 
    } catch (error) { 
    this.body = error; 
    } 
}, 

В вашем HTML файле:

<html> 
    <body> 
    <p>Firstname: {{ firstname }}<br>Lastname: {{ lastname }}</p> 
    </body> 
</html> 
+0

Да, все просто так. –

+0

Я нашел его! У меня был prefixed мой 'api' в файле конфигурации с тем же именем, которое я дал' ' в:. ./api/ /config/routes.json'. –

+0

О, я вижу. Мы попытаемся улучшить эту часть документации. Не стесняйтесь, если у вас есть предложения относительно документации: https://github.com/wistityhq/strapi-docs. Мы будем рады объединить ваши улучшения. –

0

О, это может быть конфликт между вашими API маршрутов и общедоступных средств. Вы можете удалить файл ./public/index.html?

Смежные вопросы