2015-07-22 5 views
0

Я использую пакет FOS для реализации REST API в symfony.Контроллер, не отображающий шаблон

У меня есть контроллер под названием termsController, в котором я реализовал все маршруты для REST API.

Пути для ввода, получения, публикации и удаления возвращают массив, но мне нужна функция newTermAction (чей маршрут будет/terms/new) для визуализации шаблона.

Именно этот маршрут должен направить в форму, откуда иль сделать этот пост позвонить

Но шаблон не получают оказанные, и выход сырого HTML код

Вот функция

public function newTermsAction() 
    { 

    return $this->render('default/termForm.html.twig'); 
    } 

config.yml файл

sensio_framework_extra: 
    view: { annotations: false } 
    router: { annotations: true } 

fos_rest: 
    param_fetcher_listener: true 
    body_listener: true 
    format_listener: true 
    view: 
     view_response_listener: 'force' 
     formats: 
      xml: true 
      json : true 
     templating_formats: 
      html: true 
     force_redirects: 
      html: true 
     failed_validation: HTTP_BAD_REQUEST 
     default_engine: twig 
    routing_loader: 
     default_format: json 

Я пытался нас ИНГ это, но это не работает

$view = $this->view() 
      ->setTemplate("TermsBundle:Default:termForm.html.twig"); 
    return $this->handleView($view); 

Error : Attempted to call an undefined method named \"view\" of class 

ответ

1

Попробуйте что-то вроде этого:

public function newTermsAction(){ 
    $view = $this->view(null, 200) 
     ->setTemplate('default/termForm.html.twig') 
    ; 

    return $this->handleView($view) 
} 

Вы, возможно, придется изменить некоторые конфигурации. Посмотрите на this part of the docs для более подробной информации.

EDIT: Проблема в том, что контроллер неправильно наследовал FOSRestController, это правильный способ сделать это.

Кроме того, не забудьте добавить html-формат в конце запроса, или контроллер попытается отобразить формат по умолчанию, заданный в config, например. :

terms/new.html 
+0

Я попытался that.Got ошибки: Попытка вызвать неопределенный метод с именем \ "Вид \" класс .... – user3425344

+0

наследует ли ваш контроллер ФОС \ RestBundle \ Controller \ FOSRestController? (извините, я не видел, чтобы вы упомянули об этом в своем вопросе, попробуйте добавить ошибку в вопрос) – AntoineWDG

+0

да! Это наследует! – user3425344

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