0

熱心な読み込みに関する簡単な質問。次のコードがあります。

@user = User.includes(:restaurants).find_by_unique_identifier(params[:unique_identifier])

ただし、レストランの list_id が X (restaurants テーブルの列の 1 つ) である場合にのみ、特定のユーザーに関連付けられたレストランをロードしたいだけです。

これについてどうすればいいですか?

次のことを試しましたが、ユーザーに関連付けられたすべてのレストラン レコードが読み込まれました。

@user = User.includes(:restaurants).where(:restaurants => {:list_id => params[:list_id]}).find_by_unique_identifier(params[:unique_identifier])
4

1 に答える 1

0

すべての関連付け要件が設定されていると仮定すると、次を使用できますjoins

@user = User.all(:conditions =>["restaurants.list_id = ?", params[:list_id] ], :joins => [:restaurants])

更新:
私のコードはユーザーのリストを取得します。ただし、フィルタリング方法を使用して、リストを絞り込んだり、個々のレコードを取得したりできます。

于 2012-05-11T23:38:32.170 に答える