ActiveStorage rails:限制上传的文件数

时间:2019-05-02 18:36:44

标签: ruby-on-rails rails-activestorage

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

简短的回答是“否”。在后台,Rails只是生成标记。根据{{​​3}}

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

Rails只是将multiple属性设置为"multiple"。使用JavaScript也许可以实现您想要的。您也可以只输出两个文件的输入输入,而无需多属性...