Rails データベース API をよりよく理解しようとしています。次のモデルがある場合:
class Link
has_many :votes
belongs_to :user
end
class Vote
belongs_to: link
belongs_to :user
end
class User
has_many :links
has_many :votes
end
すべてのリンクのリストを「熱心に」返したいと思います。リンクごとに、user_id が現在のユーザーと等しい投票が必要です。私はこれを試しました:
l = Link.all(:include => :votes, :conditions => { :votes => { :user_id => current_user.id}})
ただし、それはユーザーが投票を送信したリンクのリストのみを返します。すべてのリンクを返し、次にそのユーザーの投票のみを返します (または、何もない場合はなし)。include ステートメントを使用してこれを行うにはどうすればよいですか?