我正在嘗試創建一個Rails控制器查詢,該查詢可以查找最近日期不在將來的列中的記錄(這就是爲什麼我無法做到簡單order
聲明)。我發現this post,但答案(MyModel.where("created_at < ?", 2.days.ago)
)引發了一些錯誤。查找最近的Rails記錄過去
我有這個工作正常,但如果開始在它選擇未來一週有說,不是最近的一個過去:
@most_recent = Plan.order("week_starting").last
任何想法,以如何做到這一點正確Rails的?
這裏是我的整個plans#index
方法:
def index
@plans = Plan.where(user_id: current_user.id)
@plan = Plan.new
@recent = Plan.order("week_starting").last <<<THIS LINE
@recipes = Recipe.where(user_id: current_user.id)
@monday = Recipe.where(id: @recent.monday)[0]
@tuesday = Recipe.where(id: @recent.tuesday)[0]
@wednesday = Recipe.where(id: @recent.wednesday)[0]
@thursday = Recipe.where(id: @recent.thursday)[0]
@friday = Recipe.where(id: @recent.friday)[0]
@saturday = Recipe.where(id: @recent.saturday)[0]
@sunday = Recipe.where(id: @recent.sunday)[0]
end
基本上,我需要的爲它具有week_starting
值最接近Date.today
仍然在過去的當前用戶。
這可能不是很清楚,但我正在尋找最近的未來記錄。這兩天的事情只是一個來自另一個問題的例子... – Liz
隨着你的代碼(改編),我認爲這會產生像'Plan.where(「week_starting <?」,Time.now).limit(1)',這給了我一個錯誤,說'未定義的方法'week_starting'爲#' –
Liz
是計劃表中的week_starting字段? –