Railsでidが前後のレコードを取得するメソッドを実装してみた

はじめに

Railsでとあるサービスを実装しているときに、詳細画面でidが前後のレコードへのリンクをつけたかったのですが、ActiveRecordではそのようなメソッドが用意されていないようなので実装しました。

方針

基本的には次のリンク通りなのですが、5年前の回答なので現状(Rails4.2系) に合わせて実装し直しました。

実装

具体的な実装は次の通りです。モジュールとして切り出すことで再利用可能なようにしました。

「前後のレコード」はCakePHPを参考に*1NeighborRecordsとしましたが、この表現は正しいのだろうか、、

利用方法

上のモジュールを対象のModelでincludeするだけです。

おわりに

そもそも詳細画面に前後のレコードへのリンクをつけるのが間違っている気もする。