1
我有一個用戶模型,並帶有載波的Image模型。使用carrierwave進行文件上傳的限制
我想限制用戶可以上傳的圖像數量,因爲我有第二種形式,用戶上傳圖像,我希望他只能上傳3張圖像。是否有這樣的elegante解決方案?或者我必須製作一個自定義驗證程序來統計用戶的圖像數量?
我有一個用戶模型,並帶有載波的Image模型。使用carrierwave進行文件上傳的限制
我想限制用戶可以上傳的圖像數量,因爲我有第二種形式,用戶上傳圖像,我希望他只能上傳3張圖像。是否有這樣的elegante解決方案?或者我必須製作一個自定義驗證程序來統計用戶的圖像數量?
我猜你的模型在某種程度上類似於:
class User
has_many :photos
end
class Photo
belongs_to :user
mount_uploader :file, PhotoUploader
end
因此,這意味着你可以簡單地在用戶上有多少張照片可以添加驗證。你可以看到,後:Limit number of objects in has_many association
你最終會得到這樣的事情在你的照片模式:
LIMIT = 3
validate do |record|
record.validate_photo_quota
end
def validate_photo_quota
return unless self.user
if self.user.photos(:reload).count >= LIMIT
errors.add(:base, :exceeded_quota)
end
end
這個作品!謝謝。 – Gotjosh