2

私はRoRを初めて使用するので、ビューとコントローラー間の相互作用の内部メカニズムを理解していません。どのコントローラーでも、次のようなコードを見ることができます。

class ProductsController < ApplicationController
end

Rubyインタープリターは、ステートメントなしでApplicationControllerクラスを取得する場所をどのように知っていますか'require'. また、コントローラーはすべてのモデルをどのように認識していますか。つまり、製品モデルがあれば、コントローラーで次のようなコードを使用できます。

Product.find(1);

しかし、実際にコントローラーがモデルクラスについてどのように知っているか

4

1 に答える 1

2

モデルの場合、アプリで Rails コンソールを開き、次のように入力します。

$LOAD_PATH

モデル クラスがかなり早いことがわかります。これは、Rails での auto_loading の処理方法です。

ビューの場合、操作可能な views_paths があり、ここで概説されています: http://api.rubyonrails.org/classes/AbstractController/ViewPaths/ClassMethods.html

于 2013-07-05T08:55:21.363 に答える