我有Rails api,我用它来上传移动应用中的照片。有没有办法从Rails后端设置像计时器这样的东西,让一个用户一天只上传两次和/或一天两次上传另一个用户?因为我不想从前端做到这一点,所以我对后端如何工作的逻辑感到有些困惑。任何建议表示赞赏。谢谢!
答案 0 :(得分:1)
简单。只需检查用户在分配的时间范围内创建的记录数。假设您有以下关联:
class User
has_many :photos
end
class Photo
belongs_to :user
end
返回经过身份验证的用户的current_user
方法。
要根据时间范围进行查询,请使用range:
def create
@photo = current_user.photos.new(photo_params)
unless current_user.photos.where(created_at: (1.hour.ago..Time.now)).count <= 2
@photo.errors.add(:base, 'You have reached the upload limit')
end
# ...
end
稍后当您重构时,您可以将其作为custom validation移动到模型中。