has_many :texts のゲームモデルがあります。問題は、テキストが属するゲームに応じてテキストの順序を変える必要があることです (はい、見苦しいですが、レガシー データです)。Text.in_game_order_query(game)
適切な順序を返すメソッドを作成しました。
私のお気に入りの解決策は、デフォルトのスコープを Text モデルに配置することでしたが、それには、それらがどのゲームの一部であるかを知る必要があります。また、各ゲームのテキスト用に個別のクラスを作成したくありません。多くのゲームがあり、さらに多くのゲームが登場し、新しいゲームはすべて同じ順序を使用します。だから私は別のアイデアを持っていました: has_many でテキストを並べ替えます。テキストがどのゲームの一部であるかがわかっている場合:
has_many :texts, :order => Text.in_game_order_query(self)
ただし、ここでは self がクラスなので、それは機能しません。
@game.texts.in_game_order(@game)
毎回電話する以外に解決策はありませんか??