2012-09-26 152 views
-1

我有一個自定義助手(MessageHelper),其中需要訪問另一個自定義助手(IncentiveHelper)。我遵循文檔中描述的格式,但我得到這個錯誤:在自定義助手中使用自定義助手

Undefined property: MessageHelper::$Incentive [APP/views/helpers/message.php, line 21] 

這是相關的代碼塊。爲了我的眼睛,它看起來幾乎相同的1.3 docs

class MessageHelper extends AppHelper { 
    public $helpers = array('Incentive'); 

    public function rebates($rebates) { 
    debug($this->Incentive); exit; 
    } 
} 

的文件是按照慣例爲app/views/helpers/message.phpapp/views/helpers/incentive.php命名並保存。一時興起,我確實嘗試了包括核心幫手(HtmlHelper),但是失敗方式相同。

我在這裏錯過了什麼?有什麼顯而易見的,我只是沒有看到?似乎一定有,但我的眼睛開始交叉。任何在正確的方向微調將不勝感激。

+1

的關鍵問題是:你是如何導入/包括你的消息幫手?在控制器中通過'public $ helpers = array('Message')'? – mark

+0

嗯。那是個很好的觀點。在這種情況下,我想我在控制器中使用它(不要判斷)並使用'App :: import()'。我認爲你正在做某件事。 –

+1

看,那是你的問題。不要那樣做:)。設計失敗 - 使它成爲一個lib或一個組件,並以正確的方式使用它。 – mark

回答

相關問題