2008年11月5日水曜日

rhtmlにインスタンス変数を書くこと

<%= @controller_instance_variable %>

こう書いたとき、インスタンス変数ではなくメソッド(いわゆるアクセサ(ゲッタ))を使えばビューからコントローラのプライベートな変数に直接アクセスしている感じがなくていいのではないかと思うが、当然何か理由があるんだろう。

そもそもビューは(ここまでのところ:P41)クラスじゃない。単なるテンプレートでしかない。いや、ユーザが関与する部分としては、という意味で。

Joeの疑問(p41)ではRubyのメタプログラミング機能をうまく利用して、テンプレートオブジェクトに注入するとあるので、コントローラからRailsに戻ったときに、何をするのかが具体的に分かれば、疑問は解消すると思うので、とりあえず先へ進もう。


※これがよく分からない。オブジェクトはクラスかクラスのインスタンス(厳密にはクラスもメタクラスのインスタンスなので表現が難しいが)ではないのか? ビューオブジェクトもこれに従うのか、従わないのか。


0 件のコメント: