Если вы хотите получить случайный объект 1 в день, значит, вы должны его где-то хранить.Вы можете сохранить его:
- в отдельном файле
- в отдельной модели
- в той же модели добавить поле rndm
Позволяет реализоватьпоследний.Это довольно легко.Представь, что твой Model
называется User
.Во-первых, давайте добавим новое поле даты rndm
:
rails g migration add_rndm_to_user rndm:date
rake db:migrate
Теперь нам нужно добавить некоторые методы к вашей User
модели
class User < ActiveRecord::Base
def self.random
rndm = find_by_rndm Date.today
unless rndm
update_all :rndm => nil
rndm = self.order('rand()').first
rndm.update_attribute :rndm, Date.today
end
rndm
end
end
, чтобы теперь вы могли вызывать User.random
от вашего контроллера