$ m-> comp возвращает бесконечную ошибку рекурсивного вызова - PullRequest
1 голос
/ 02 апреля 2012

У меня проблемы с использованием HTML :: Mason's $m->comp для перенаправления из одного представления в другое.

Существует файл скажем file1.mi, в который встроен HTML-код в file1.mi, который я использую$m->comp для перенаправления на file2.mi.

Но на веб-странице всякий раз, когда загружается file1.mi, она печатает нижний колонтитул несколько раз, и в журналах я получаю ошибки

Обнаружена отправка приложения с вложенными структурами страниц, это использование не полностью поддерживается и может привести к непредвиденному поведению

и

Ошибка: ОШИБКА КОНТЕКСТА ПРИЛОЖЕНИЯ (RENDER): глубина 32 уровняв стеке компонентов (бесконечный рекурсивный вызов?)

.Вот скрипт, который я использую для перенаправления с file1.mi

return $m->comp('/page-framework/dispatch.mi', applicationPath =>'/gp/tradein/omc', viewID => 'file2.mi', %ARGS);

Я использую этот скрипт в file1.mi до того, как он рендерит веб-страницу - т.е. до того, как будут выполнены любые HTML-скрипты.

Я немного новичок в Мэйсоне, если у вас есть вопросы по этому поводу, пожалуйста, продолжайте.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

Ваш диспетчер dispatch.mi должен вызывать файл1 или файл2.Принятие решения о том, что вы хотите перейти в другое место после того, как запрос уже отправлен, похоже, логика не в том месте.

0 голосов
/ 02 апреля 2012

Похоже, ваш file1.mi загружается и обрабатывается, затем исполняется file2.mi и он находится в бесконечном цикле.

Пожалуйста, покажите нам больше кода, отладка с этими мелкими деталями невозможна.

Что вы в логах веб-сервера? Пожалуйста, вставьте несколько примеров из логов.

С уважением,

...