Да, вы можете добавлять объединения в поиск
# models/project.rb
def self.search(search)
if search
find(:all, :joins => :other_model, :conditions => ['projects.name LIKE :search or other_models.name LIKE :search', {:search => "%#{search}%"}])
else
find(:all)
end
end
ОК, это будет лучшим примером для будущего
def self.search(search)
if search
joins(:other_model).where('LOWER (projects.description) LIKE ? or LOWER (other_models.name) LIKE ?', "%#{search}%", "%#{search}%")
else
scoped
end
end