ActiveRecordで動的なAND検索する

Rails4

最近Rails系の記事はgemを減らせというのをよく見るような気がしています。
Railsのバージョンアップに足を引っ張ったり、起動が遅くなる原因だそうです。

さて、ActiveRecordでAND検索です。
アプリの規模が小さいのであれば出番が多いのではと思います。
Rails4からallメソッドもリレーションを返すようになったみたいです。

class HomeController < ApplicationController 
 def search
    @posts = Post.all

    if params[:q].present?
      params[:q].split(" ").each do |word|
        @posts = @posts.where("content like :q or name like :q", q: "%#{word}%")
      end 
    end
  end
end

「AKB 篠崎 炎上」という半角スペース区切りで複数キーワードがパラメータにあると、
半角スペースでsplitして、eachでぐるぐると抽出条件を増やしてリレーションを成長させていきます。
リレーション便利ですね。

AND検索で他の実装方法はどんなものがあるのでしょうか。