2010-12-08 2 views
1

У меня есть приложение Ruby on Rails, которое позволяет пользователям создавать Box (тренажерный зал), а затем создавать Workouts, чтобы пользователи могли видеть, что они будут делать в этот день.Есть ли способ перечислить записи по created_at DESC, но только для текущих и прошлых дат?

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") 

Если нет, то что это лучший способ сделать это?

ответ

4

Вы просто должны иметь возможность добавлять в дополнительных условиях только вернуть «прошлое» записи:

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

Это должно показать все тренировки для данной коробки, но только те, которые были созданы сегодня или в прошлое.

Смежные вопросы