0

私はRails(およびWeb開発[ただしRubyは初めてではありません])は初めてで、MVCは言うまでもなく、まだ慣習について頭を悩ませています。

次のような(単純化された)モデルのセットがあります。begs_to 関連付けは明確にするために除外されています。

Contact (has_many :accounts)
Account (has_many :service_1s, has_many :service_2s)
Service1 (has_many :service_1_usage_records)
Service1UsageRecords (has_many :service_1_usage_records_historical)
Service1UsageRecordsHistorical ()
Service2 (has_many :service_2_usage_records)
Service2UsageRecords ()

Web インターフェイスから Contact、Account、Service1、Service2 の REST アクションにアクセスする必要があります。他のモデルはバックエンドで使用されます。これは、この状況では、必要な 4 セットの REST アクションを説明するために、4 つのコントローラーが必要になるということですか?

4

1 に答える 1

0

コントローラは、リソースへのアクセスを制御するものと考えてください。すべてを実行する1つのコントローラーを作成できますが、コントローラーをリソースごとに1つに維持する方が保守性が高く、Railsはこれを実行するように促します(ルートなど)。

あなたの説明から、それはあなたが必要とするものである4つのコントローラーのように聞こえます。Webを介して他のリソースに直接アクセスする必要がある場合は、おそらくより多くのコントローラーが必要になりますが、そうでない場合は、前述の4つで問題ありません。

于 2012-05-16T05:25:42.827 に答える