Вам нужно передать named_scope процесс, чтобы он оценивался каждый раз, когда выполняется вызов named_scope. В противном случае, если вы укажете Time.now, он будет запущен один раз (при первом вызове) и будет «кэшироваться» до перезапуска приложения.
named_scope \
:this_week,
:conditions => [
%created_at > :time!,
proc {{:time => Time.now}}
]
Вы можете назвать named_scope как
@ Ar_object.this_week