私はルビーとレールを初めて使用し、データベース ビューと組み合わせて MVC 手法を概念化するのに苦労しています。レポートの生成に使用されるいくつかのビューを持つレガシー データベースを扱っています。
私が迷っているのは、データベース ビューを実際にどのように使用するかということです。モデルに入れるべきですか?もしそうなら、それは正確にどのように見えるでしょうか?
例として、従来のデータベースには qryTranscriptByGroup というビューがあります。従来のアプリケーションでは、「SELECT * FROM qryTranscriptByGroup WHERE group='test_group'」などの SQL ステートメントで使用されます。これにより、通常は 100 未満の少数のレコードが返されます。
モデル Transcript を作成する場合、Transcript.find_by_group(group) のようなメソッドをどのように定義しますか? 同様に、このコンテキストでは無効になるため、他の「検索」メソッドを防ぐ必要があるように思われます。
ビューが読み取り専用であり、作成、更新、または破棄の試みを防ぐ必要があるという事実もあります。
おそらく、私はこれについて完全に間違った方法で進んでいます。肝心なのは、ユーザーに関する情報 (トランスクリプト) を表すいくつかのテーブル (モデル?) から情報を取得する必要があるということです。実際には 1 人以上のユーザー (トランスクリプトは複数形)。
-ありがとう!