Grails, как отлаживать включение sitemesh - PullRequest
1 голос
/ 07 декабря 2011

У меня есть строка:

  static layout = "loggedIn"

в одном контроллере, и макет loggedIn.gsp используется для представлений в этом контроллере.Я включил эту же строку в другой контроллер, но он не включает этот макет, а использует main.gsp в папке раскладок.Любые мысли о том, как я могу решить это / выяснить, что происходит?Обратите внимание, что loggedIn.gsp находится в папке раскладок, он почему-то просто игнорируется вторым контроллером, который включает в себя точно такую ​​же

  static layout = "loggedIn" 

строку

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Я предполагаю, что в представлении есть свойство meta.layout.

Макеты запускаются в следующем порядке:

  • meta.layout <meta name="layout" content="main"/>
  • статическое свойство 'layout' на контроллере
  • соглашения о контроллере / действии:
    • / макеты / $ {контроллер} / $ {действие} .gsp
    • / layouts / $ {controller} .gsp
  • настроено grails.sitemesh.default.layout свойство
  • / макеты / application.gsp

http://www.slideshare.net/laelfrog/grails-layouts-sitemesh (слайд 19)

0 голосов
/ 07 декабря 2011

Оказывается, у меня был остаток:

  <meta name="layout" content="main" />

на страницах для второго контроллера, который переопределяет настройку статического макета внутри контроллера.

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