【问题标题】:ActiveStorage rails : limit the number of files uploadedActiveStorage rails : 限制上传文件的数量
【发布时间】:2019-05-02 18:36:44
【问题描述】:

我想限制用户最多选择 2 个文件(在输入标签中?)。

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

我想限制用户最多选择 2 个文件(前台和后台)。

有没有办法(最好是硬编码选项)来限制用户可以选择的文件数量?

【问题讨论】:

标签: ruby-on-rails rails-activestorage


【解决方案1】:

您不能指定限制。 Javascript 可以检测文件数量,或者您的 Ruby 后端可以检测文件数量,但您必须在 HTML 之外进行验证。

如果您有少量硬编码的文件字段,您始终可以为每个字段创建一个唯一的form_field,并强制用户分别更新每个字段,然后将它们以数组的形式提交给后端。

【讨论】:

    【解决方案2】:

    简短的回答是否定的。在幕后 Rails 只是生成标记。根据https://github.com/rails/rails/blob/1ce5153a099e82f761315154dfe5e01253dafd81/actionview/lib/action_view/helpers/form_helper.rb#L1202的源代码

    #   file_field(:post, :image, multiple: true)
    #   # => <input type="file" id="post_image" name="post[image][]" multiple="multiple" />
    

    Rails 只是将multiple 属性设置为"multiple"。您可能能够使用 JavaScript 实现您所追求的目标。您也可以只输出两个没有多重属性的文件上传输入...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2011-01-13
      • 2019-06-12
      • 1970-01-01
      • 2013-08-05
      • 2018-08-15
      相关资源
      最近更新 更多