Я бы, вероятно, просто использовал бы функцию поиска и использовал бы то же, что и у вас сейчас:
Product.find(:all, :conditions => ["exists (select * from Creators where product_id = Products.Id)"])
В противном случае я предполагаю, как активная запись объединяет данные, которые вы могли бывероятно, получите то же самое, включив информацию об создателе (при условии, что у вас настроено has_many), а затем убедитесь, что информация об создателе существует ...
Product.find(params[:id],:include => [:Creator],:conditions => ["Creator.product_id!=null"])
Если вы этого не сделаетеуже установили отношения, которые вы должны определить в своих моделях:
class Product< ActiveRecord::Base
has_many :CreatorProduct
has_many :Creators, :through => :CreatorProduct