2017-02-28 50 views
1

在我的應用程序中,我有一個名爲pagetitle=的方法,它設置頁面標題和幫助器方法pagetitle,它根據提供的字符串(或不存在)創建頁面標題。控制器設置本地變量而不是調用設置器

pagetitle=定義在ApplicationController超類上,而pagetitle定義在ApplicationHelper類中。

我的問題是,無論何時我調用pagetitle = "Some string"該方法未被調用,rails都傾向於創建局部變量pagetitle而不是調用該方法。

如果我打電話給self.pagetitle = "Some string"那麼調用該方法。

這是預期的行爲?我在這裏錯過了什麼?

TL; DR:爲什麼pagetitle=創建一個局部變量和self.pagetitle=調用我的方法

回答

4

是的,這是預期的行爲。

您使用self.來編寫實例變量,否則Ruby會創建局部變量。

+0

出於興趣,'pagetitle =(「some string」)'行爲如何? – Yule

+0

@Yule它與'pagetitle =「一些字符串」''是一樣的,如果這就是你問的關於 –

+0

是的,就是這樣。謝謝。 – Yule

相關問題