2017-02-28 11 views
1

私のアプリケーションでは、pagetitle=というメソッドがあり、ページタイトルとヘルパーメソッドpagetitleが提供された文字列(または存在しない)に基づいてページタイトルを作成します。コントローラはsetterを呼び出す代わりにローカル変数を設定する

pagetitle=ApplicationControllerスーパークラスで定義され、pagetitleApplicationHelperクラスで定義されています。

私の問題は、pagetitle = "Some string"メソッドが呼び出されないときはいつも、メソッドを呼び出す代わりにローカル変数pagetitleを作成することが好ましいということです。

self.pagetitle = "Some string"を呼び出すと、このメソッドが呼び出されます。

これは意図した動作ですか?私はここで何が欠けていますか?

TL; DR:pagetitle=は、ローカル変数を作成し、self.pagetitle=なぜ私の方法

答えて

4

はい、これは意図した動作がある呼び出します。

self.を使用してインスタンス変数を記述します。そうでない場合、Rubyはローカル変数を作成します。

+0

興味深いことに、 'pagetitle =(" some string ")'はどのように動作しますか? – Yule

+0

@Yuleそれはあなたが約 –

+0

うんんん質問している場合、 'pagetitle ="いくつかの文字列 "と同じです、それだけです。ありがとう。 – Yule

関連する問題