Active Record と SQLite から Ruby Object Mapper に移行している"ちょっとした" Rails アプリがあります。これは主に、データ マッパー パターンがコードに与える影響を調べるチャンスです。
Course モデル、Game モデル、Score モデルがあります。コース レコードを計算するときは、コース オブジェクトとそれに関連付けられているすべてのゲーム、およびそれらの各ゲームのすべてのスコアを取得する必要があります。
結合された関係を作成する例を見つけましたが、その関係のマッパーを作成する方法の例を見つけることができなかったため、実際にそのデータを取り戻すことができません。
私の ROM スキーマは次のようになります。
base_relation :courses do
repository :main
attribute :id, Integer
attribute :name, String
attribute :created_at, Time
attribute :updated_at, Time
key :id
end
base_relation :games do
repository :main
attribute :id, Integer
attribute :course_id, Integer
attribute :played_at, Time
attribute :created_at, Time
attribute :updated_at, Time
key :id
key :course_id
end
そして、関連するすべてのゲームで特定のコースを取得できるクエリを実行したいと考えています。何かのようなもの:
env[:courses].restrict(id: 1).join(env[:games]).one
しかし、結合を指定するための正しい構文を見つけることができませんでした。公理がメモリ内の結合をサポートしていることだけは知っています。
Ruby Object Mapper から結合されたデータで読み取りと書き込みを行う良い例を知っている人はいますか?