[Moscow.pm] Mojolicious controller render stash

Ivan Petrov i.petro.77.00 на gmail.com
Пт Апр 8 01:23:14 PDT 2011


SM> Понимаю что возможно не по адресу и надо писать в рассылку
SM> Mojolicious, но мой предыдущий вопрос туда был проигнорирован...

SM> Помогите пожалуйста понять почему не срабатывает элементарное
SM> приложение на Mojolicious.
SM> Простейшее приложение.
SM> Два шаблона один контроллер.
SM> В контроллере две функции выполняющие(route).
SM> Обе добавляют в stash значение которое потом в шаблоне отрисовывется в
SM> теге <title>.

SM> Если оставляю только одну функцию то все нормально - отрисовывается шаблон.
SM> Если добавляю(раскомментирую) вторую то приложение валится с исключением:
SM> Can't use string ("MyApp::Controller::Alerts") as a HASH ref while
SM> "strict refs" in use at
SM> C:/strawberry/perl/site/lib/Mojolicious/Controller.pm line 699.
SM> 694. # "All this knowledge is giving me a raging brainer."
SM> 695. sub stash {
SM> 696. my $self = shift;
SM> 697.
SM> 698. # Initialize
SM> 699. $self->{stash} ||= {};
SM> 700.
SM> 701. # Hash
SM> 702. return $self->{stash} unless @_;
SM> 703.
SM> 704. # Get

SM> Перечитал еще раз все доступные руководства по routе и render, но так
SM> и не смог понять причину.
SM> Как только комментирую вторую функцию и перезапускаю сервер сразу все
SM> работает, но тогда исключение возникает по отсутствию необходимой
SM> переменной для отрисовки в шаблоне...

переназови функцию new как-то по другому. ибо это конструктор,
определенный в базовом классе


Подробная информация о списке рассылки Moscow-pm