Railsでの検索で特定の数値に近いカラムをデータベースから近い順に取り出したいのですが、デフォルトでそのような機能の検索はありますか?
ケース例
ユーザーは一週間後の金曜日の、日経平均の株価を予想します。
実際に金曜日になった際に日経平均の価格を取得し、ランキングを作成します。
作成するランキングは上位10人です。
UserExpectテーブル
|id|user_id|expect_price|created_at|
|:--|:--:|--:|
||||
現在の実装では、
ruby
1nikkei_price = 22000 2under_expects = UserExpect.where("expect_price <= ?",nikkei_price).order('expect_price DESC').limit(10) 3over_expects = UserExoect.where("expect_price > ?",nikkei_price).order('expect_price ASC').limit(10)
こんな感じで価格に近いインスタンスを取ってきた後に、
これらをeachで回して差順に配列にし、並びかえてます。
何かメソッドで一発だよとか、いやこういう方法があるとかあれば教えて欲しいです。。。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。