Rôzne chovanie dev a prod verzie

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lamerko4ever
Člen | 13
+
0
-

Ahojte, mám nasledujúci problém.

Vyvíjam aplikáciu pod Nette. Momentálne je aj na serveri, na ktorom to testujem a pre svoju IP adresu som si nastavil, aby som mal normalnálne zobrazenú Tracy a videl chyby. Takto to funguje v poriadku, akonáhle mám inú IP a je spustený produkčný mód, tak mi tam hádže na niektorých veciach error 500 a v logu mám napríklad, že Call to a member function mojaFunkcia() on null, kde tú funkciu volám z nejakého modelu v presenteri. Pričom, keď si to pozriem z tej IP, kde mám develop mód, tak tam to ide normálne.

Napadá niekoho, v čom by mohol byť problém? Vďaka :)

ali
Člen | 342
+
0
-

Vypada to, ze se ti neinjectuje model do promenne. Hod sem kod toho tveho presenteru, kde ti to haze tu chybu.

lamerko4ever
Člen | 13
+
0
-
class TracePresenter extends BasePresenter
{
    /**
    * @inject
    * @var \App\Model\TraceModel
    */
    public $traceModel;

    /**
    * @inject
    * @var \App\Model\InfraModel
    */
    public $infraModel;

    /**
     * @inject
     * @var \App\Model\PanelModel
     */
    public $panelModel;

    /**
     * @inject
     * @var \App\Model\TemplateModel
     */
    public $templateModel;

    /**
     * @inject
     * @var \App\Model\ExperimentModel
     */
    public $experimentModel;

    public function startup()
    {
        parent::startup();

        if (!$this->user->isLoggedIn()) {
            $this->redirect('Sign:in');
        }

        $this->template->presenter = 'Stopy';

        $this->template->menuPanels = $this->panelModel->getPanels();
    }

    public function actionShow($traceId)
    {
        $this->template->panels = $this->panels;

        $this->template->traceId = $traceId;
    }

    /** nacitanie dat pre zobrazenie - infra, entity, sablony, attributy
     * @param $traceId
     * @internal param $experimentId
     * @internal param $traceId
     */
    public function handleLoadData($traceId)
    {
        $experimentPath = $this->traceModel->getTracePath($traceId, $this->directoryPath);

        $this->payload->infraData = $this->infraModel->getInfraData($experimentPath);

        $this->payload->entityTypes = $this->traceModel->getEntityTypes();

        $this->payload->entityTemplates = $this->templateModel->getTemplates();

        $this->payload->attributes = $this->traceModel->getAttributesAssoc();

        $this->payload->panels = $this->panelModel->getPanelsAsArray();

        $this->sendPayload();
    }

Chyba:

Call to a member function getTemplates() on null

Editoval lamerko4ever (9. 4. 2016 13:05)

CZechBoY
Člen | 3608
+
0
-

Zkus smazat cache.

lamerko4ever
Člen | 13
+
0
-

CZechBoY napsal(a):

Zkus smazat cache.

Pomohlo, vďaka :)