Salut,
le plus simple pour faire ça, c'est d'utiliser un scope.
Dans la définition de ton model, en imaginant que le champs date s'appelle occurs_on :
Code :
- class Lesson < ActiveRecord::Base
- has_and_belongs_to_many :people
- belongs_to :teacher, :class_name => "Person", :foreign_key => "person_id"
- scope :before_current_year, lambda { where(' occurs_on < "'+ Time.now.year.to_s + '-01-01" ') }
- end
|
Comme le précise la doc, on utilise lambda car il y a une évaluation à faire
http://guides.rubyonrails.org/acti [...] tml#scopes
Puis tu peux l'utiliser dans ton controlleur :
Code :
- p = Person.find(1)
- @olddates = p.lessons.before_current_year
|
Message édité par bobmaerten le 15-02-2012 à 15:10:17