0
には、私は計算にmodel_one時間フィールドを使用していますmodel_twoの範囲またはクラスレベルのメソッド、何かのいずれかを行う必要があり、これらのモデルRailsの - 計算に使用する親レコード列の値子スコープ
ModelOne
has_many :model_twos
integer :length_in_hours
ModelTwo
belongs_to :model_one
を持っていますこのような:
scope :in_range, -> {includes(:model_one).where('created_at <= ?', DateTime.now + (model_one: {:length_in_hours}).hours)}
が、私はかなりそれが仕事を得ることができないと私はそれのために行った検索のどれもが、関連する答えを与えるん
こんにちは間隔秒に親列をキャストしてしまったとスタックオーバーフローを歓迎します。おそらくあなたは純粋なルビー/レールでこれを行うことはできません... SQLで書き直す必要があるかもしれませんが、SQL関連のキーワードを使用して検索しましたか? –
ありがとう、私は 'scope:in_range、 - > {joins(:model_one).where(" model_twos.created_at +((model_ones.length_in_hours * 3600)|| 'second'):: interval)>に行きました。 "、DateTime.now)}' – Jarfis
偉大な仕事 - それは他の人が同じ問題を抱えている場合、彼らは問題が解決策を持っていることを見ることができるように答えとしてそれを追加してください:) –