私は Rails 3 を使用しており、ユーザーがレンタルするオブジェクトを配置できるアプリを構築しています。オブジェクトごとに、次のことを決定できます。
- オブジェクトは全世界でレンタルできるか (潜在的に)、またはレンタルできないか (オブジェクトへのアクセスは制限されています)
- オブジェクトは友達だけがレンタルできます(アプリ内、
has_many friends, :through => friendship
協会経由) - オブジェクトは、次のグループのメンバーがレンタルできます (ユーザーは、自分が属するすべてのグループ、またはこれらのサブセットのいずれかを選択します)
私の質問は、 current_user が見ることができるオブジェクトのリストを表示する方法ですか? 2 つのオプションが表示されます。どちらが最適か、または同等かどうかを知りたいです。
1) オブジェクト コントローラーで、ユーザーが表示できるオブジェクトのコレクション (@ objects = Object.can_see(current_user)
) を作成し、これをインデックス ビューに渡し、リスト全体を表示します。
2) コントローラーで、すべてのオブジェクトを収集(@objects = Object.all
し、これをインデックス ビューに渡し、ビューで、オブジェクトごとに一連のテストを実行して、オブジェクトを表示するかどうかを決定します。