Ассоциации обычно могут принимать хэш-код :conditions
, что может быть удобно. (И я забыл об этом, пока мне не понадобилось около получаса назад).
Помогло бы? Что-то вроде:
has_one :current_contract, :class_name => "Contract", :conditions => ...
Посмотрите на книгу немного больше (стр. 364):
has_one :current_contract, :class_name => "Contract", :order => 'created_at DESC'
... которая будет обратитесь к самому недавно созданному контракту. Конечно, у вас может быть более подходящая колонка.
Хотелось бы, чтобы я видел это раньше - мне нужно пойти и изменить код сейчас ...