検索フォームに文字を入力するとurlの末尾に検索wordが追加される

まず、このurlクエリを取得する

以下のようにrequestオブジェクトのqueryメソッドを用いると取得できる

urlクエリで渡されたパラメータを使用してクエリビルダでデータをfetchする

urlクエリパラメータはペジネーションリンクを押したときに引き継がれなくなってしまうのでペジネーションリンクに以下のメソッドを追加する必要がある

 

では、本題にあるクエリスコープを使用してこのクエリビルダを使いまわしてみる

まずはスコープをモデル内で定義

コントローラでsearchメソッドを使用してviewにpostsを渡す

同様にtagページにもsearchメソッドを使用

これでコードが見通し良くなりました。