【问题标题】:Rails - Paperclip - Multiupload - How to limit number of images?Rails - Paperclip - Multiupload - 如何限制图像数量?
【发布时间】:2013-08-21 15:18:40
【问题描述】:

我有一个 Rails 3.2 应用程序,它使用 Paperclip 在一个字段中附加多个图像。

所以,我有一个 Post 模型和一个 Image 模型。

我的问题是:如何像回形针的大小验证一样验证图像的数量?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 paperclip paperclip-validation


    【解决方案1】:

    S0 我假设一个帖子有_many 图片。

    您可以尝试验证保存时的图像数量,如下所示(此代码尚未经过测试!):

    class Post
      has_many :images
      validate_on_create :images_limit
    
      private
    
      def images_limit
        return if images.blank?
        errors.add("You have reached the image limit") if images.length > 10
      end
    end
    
    class Image
      belongs_to :post
      validates_associated :post
    end
    

    【讨论】:

    • 真的很好!我只需要将 validates_on_create 替换为 -> validate :images_limit, :on => :create。我仍然有一个问题,当显示错误消息时,我有很多字段作为我尝试发送的图像。如果我附上 15 张照片,我将有 15 个文件字段 + 第一个(所以 16 个)。在我的控制器中,我添加:@post.photos.build 以显示我的表单字段 =>
    • 我忘了,我必须更改 errors.add("message") bu errors.add(:images, "message)。以防万一其他人需要。
    • 很高兴它有帮助 - 如果您认为它对其他人有用,请标记答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    相关资源
    最近更新 更多