Grabbing all the has_many relations of a specific collection
I've got:
class User < ActiveRecord::Base
has_many :photos
end
class Photo < ActiveRecord::Base
belongs_to :user
end
Each user has a "shadowbanned" attribute (t/f). I'd like to be able to grab all the photos where the users aren't shadowbanned.
How would you recommend I set up either the scope or the association to have Rails do the most work possible?
Guess what I'm asking is, is there anything cleaner than this:
valid_photos = Photo.where.not(user_id: User.where(shadowbanned: true).pluck(:id))