ruby-on-rails - rails :Limiting how many files a user can upload

标签 ruby-on-rails twitter-bootstrap rails-activestorage

用户可以使用主动存储在我的 Rails 应用程序中上传多张图片,是否可以精确限制他们可以在表单中上传的照片数量?我想将其限制为每个用户 4 张图片。

<%= f.file_field :images, multiple: true, required: false  %>

最佳答案

您可以编写自定义验证。将以下代码添加到相关模型中。

validate :validate_images

private
def validate_images
  return if images.count <= 4

  errors.add(:images, 'You can upload max 4 images')
end

您还可以检查客户端的限制。下面的代码来自这个answer

$(function(){
  $("input[type='submit']").click(function(){
    var fileUpload = $("input[type='file']");
    if(parseInt(fileUpload.get(0).files.length) > 4) {
      alert('You can upload max 4 images');
    }
  });    
});​

关于ruby-on-rails - rails :Limiting how many files a user can upload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58610181/

相关文章:

ruby-on-rails - Cucumber + Webrat + Selenium 指南

css - 为什么 twitter-bootstrap 不使用图像而是使用 <span class ="icon-bar"></span>?

ruby-on-rails - 在模型上编辑图像时,如何使用 ActiveStorage has_many_attached i active admin?

ruby-on-rails - 在 Active storage Rails 5.2 中按文件名排序多个图像

javascript - Rails Activestorage + DirectUpload javascript 进度条在使用 "remote:true"时不显示

ruby-on-rails - ruby on Rails 多元化有帮助吗?

ruby-on-rails - WickedPDF 本地渲染与生产渲染不同

ruby-on-rails - 数组评估为零

twitter-bootstrap - Bootstrap 。如何仅为移动屏幕添加底部边距?

html - 将 UL 置于父级的中心并忽略其他 float UL