В Rails 3.1 как показать только будущие события? - PullRequest
2 голосов
/ 08 декабря 2011

Итак, я создаю приложение для календаря, и показ события из прошлого не так важен, как показ предстоящих событий.

Прямо сейчас я построил модель для событий, чтобы сначала показывать самые ранние события, но как бы я скрыл от просмотра любое прошедшее событие?

В данный момент отображается в моем контроллере:

@events = Event.find(:all, :order => "start").paginate(:per_page => 10, :page => params[:page])

Я понятия не имею, как удалить записи, имеющие дату начала: начало, предшествующее сегодняшнему дню. Для этого мне нужно только удалить из вида, может беспокоиться о удалении БД после MVP.

1 Ответ

3 голосов
/ 08 декабря 2011

Как я понимаю, все, что вам нужно, это условие в вашем find вызове:

@events = Event.find(:all, 
    :order => "start", 
    :conditions => ['start >= ?', Date.today]
).paginate(:per_page => 10, :page => params[:page])

Или в более стиле Rails 3:

@events = Event.where('start >= ?', Date.today).order(:start)
               .paginate(:per_page => 10, :page => params[:page])
...