Как запросить рельсы в области "предыдущая" и "следующая" записи (ActiveRecord & PostGres) 4.2
Я реализую что-то из списка задач с моделью пользователя и модели списка с атрибутом даты. На странице показа пользователя я получаю список текущих дел.
Как мне выполнить запрос списка задач пользователя за предыдущий и / или следующий день.
Все идеи приветствуются, спасибо!
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
before_save { self.username = username.downcase }
has_many :to_do_lists, dependent: :destroy
has_many :tasks, dependent: :destroy
validates_presence_of :first_name, :last_name
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(?:\.[a-z\d\-]+)*\.[a-z]+\z/i
VALID_USERNAME_REGEX = /\A[a-z_0-9]+\z/i
validates :email, presence: true,
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
validates :username, presence: true,
format: { with: VALID_USERNAME_REGEX },
uniqueness: { case_sensitive: false }
def name
[first_name, last_name].compact.join(' ')
end
end
и модель списка
class ToDoList < ActiveRecord::Base
belongs_to :user
has_many :tasks, dependent: :destroy
validates_presence_of :user_id
validates :date, presence: true,
uniqueness: {scope: :user_id}
end
1 ответ
Rails добавляет много полезных методов Time
сделать этот тип запроса довольно интуитивно понятным. Поскольку вы подтверждаете, что у пользователя есть только один список дел на каждый день:
@next_day_list = @user.to_do_lists.find_by_date(Date.today.tomorrow)
@prev_day_list = @user.to_do_lists.find_by_date(Date.today.yesterday)