前提・実現したいこと
Railsでの日付間のデータを抽出したいです。
Weightchange
テーブルにて体重の管理をしているのですが、日付間検索を用いてこれまでに記録してきた体重データを抽出できるようにしたいです。
現状、日付間検索をする場合の設計はできているのですが、
ページを開いたとき(まだ何も検索をかけていないデフォルト状態時)に期間内に記録した体重データを反映させたいと考えています。
ちなみにこの期間内に記録した体重データの期間
というのは、
idealweight
テーブルに先に入力しているstart_day
とlast_day
のことを指します。
そこの日付をweightchangeテーブルで使ってあげたいです。
発生している問題・エラーメッセージ
そこでデフォルトの日付間をセットするためweightchange.rb
に記載をしております。
下記のように日付を直に書いてしまえば反映してくれるのですが、
カラム名を記載して反映させようとすると上手く反映がされません。
##反映される Weightchange.where(date: '2020-11-10'...'2021-02-28') ##反映されない Weightchange.where(date: 'idealweight.start_day'...'idealweight_last_day')
一応weightchange.rb
全て
class Weightchange < ApplicationRecord belongs_to :user belongs_to :idealweight # 検索 scope :search, -> (search_params) do unless search_params.blank? date_from(search_params[:date_from]) .date_to(search_params[:date_to]) else #反映される # Weightchange.where(date: '2020-11-10'...'2021-02-28') #反映されない #Weightchange.where(date: 'idealweight.start_day'...'idealweight_last_day') end end scope :date_from, -> (from) { where('? <= date', from) if from.present? } scope :date_to, -> (to) { where('date <= ?', to) if to.present? } before_save do self.expected_weight = (idealweight.weight)-((idealweight.minusweight_day)*(user.what_day)) end end
恐れ入りますが解決策をご教示いただけますと幸いです。
補足情報(FW/ツールのバージョンなど)
Rails5.2
ruby2.5.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/02 12:32