关于重复数据库条目的快速问题。
假设我有用户在一个平台上发布他们的旅行。现在,用户可以说这些旅行是经常性的——她/他每周二和周四都会去。
为了让事情更有趣,可以说每次旅行都有附加的请求,其他用户都可以这样做。他们可以为每一次重复的旅行提出这些要求。
有什么办法让我在后台处理这样的案子吗?使用Rails和Postgres。
提前谢谢!

最佳答案

User
  has_many :trips

Trip
  belongs_to :user
  has_many :requests

Request
  belongs_to :user
  belongs_to :trip

recurring_start上添加recurring_endTrip属性,也许在recur上添加Request属性。我不知道你每次旅行都需要做额外的记录,是吗?
如果是的话,你需要你的业务逻辑来处理这个问题。类似Sidekiq的查询对象,该查询对象获取应重复的行程,并创建新的行程(例如)更新的开始和结束日期…
class Trip < ApplicationModel
  scope :recurring, -> { where(recur: true) }
  scope :due_for_recurrence, -> { recurring.where(Trip.arel_table[:end_date].lt(Time.now)) }
end

如果您还想自动克隆/复制相关记录,可以使用类似DeepCloneable的内容。

10-07 13:33