我有一个ruby on rails应用程序,允许用户创建一个Box(健身房),然后创建Workouts,这样用户就可以看到他们那天将要做什么。

Box has_many :workouts
Workout belongs_to :box

我已经让用户能够编辑workout.created_at字段,并允许他们输入未来日期的训练在/view/boxes/show.html.erb页面上,我只想显示当前日期和过去的训练所以本质上,我想按created_at DESC列出所有的训练,但我不希望以后的训练在控制器操作中有这样做的方法吗?
@workouts = @box.workouts.all(:order => "created_at DESC")

如果没有,最好的方法是什么?

最佳答案

您应该能够添加附加条件以仅返回“过去”记录:

@workouts = @box.workouts.all(:order => "created_at DESC", :conditions => ["created_at <= ?", Time.now])

这将显示给定框中的所有训练,但仅显示今天或过去创建的训练。

09-08 11:24