Railsでidが前後のレコードを取得するメソッドを実装してみた
はじめに
Railsでとあるサービスを実装しているときに、詳細画面でid
が前後のレコードへのリンクをつけたかったのですが、ActiveRecord
ではそのようなメソッドが用意されていないようなので実装しました。
方針
基本的には次のリンク通りなのですが、5年前の回答なので現状(Rails4.2系) に合わせて実装し直しました。
実装
具体的な実装は次の通りです。モジュールとして切り出すことで再利用可能なようにしました。
「前後のレコード」はCakePHPを参考に*1NeighborRecords
としましたが、この表現は正しいのだろうか、、
利用方法
上のモジュールを対象のModelでinclude
するだけです。
おわりに
そもそも詳細画面に前後のレコードへのリンクをつけるのが間違っている気もする。