それはすべて正確であるため、すでに述べたことに追加します。
「class X < ActiveRecord::Base」はモデルでオブジェクトを作成することであり、「class ApplicationController < ActionController::Base」はコントローラーでオブジェクトを作成することであると理解しています...オブジェクトを作成するための同様のものはありますかView では、MVC の 3 つのコンポーネントすべてを丸めるだけですか?
これは正しい道をたどっていますが、意味上の違いがいくつかあります。
class User < ActiveRecord::Base
ActiveRecord::Base のサブクラスを作成するだけです。何かをするまではUser.create()
、そのクラスのインスタンスを取得します。これは、オブジェクトと呼ばれることもあります。
サブクラスは、親を持つクラスの特別な言葉です。ruby では、かなり紛らわしいことに、クラスはすべて Object クラスのサブクラスであることを覚えているかもしれません。
また、ActiveRecord::Base をサブクラス化することは、モデル内にオブジェクトを作成することと考えるべきではありません。代わりに、サブクラスをモデルの記述 (通常は保存したいデータ) と考えてください。 すべてのサブクラスはモデルそのものです。それはすべてセマンティクスですが、理解に役立つ場合があります。
コントローラーも同様です。コントローラーにオブジェクトを作成するのではなく、コントローラーの新しい説明を作成します。その説明は、インスタンス化されるまで実際には具体的ではありません.レールでは、あなたまたはユーザーがアプリケーションからページを要求すると自動的に発生します.
最後に、ActionView::Base と呼ばれるトリオを締めくくるクラスがあります。Rails は、コントローラーで を呼び出すと、自動的に作成さrender
れます。