ruby-on-rails - Rails:限制用户可以上传的文件数量
问题描述
用户可以使用活动存储在我的 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
您也可以检查客户端的限制。以下代码来自此答案
$(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');
}
});
});
推荐阅读
- coldfusion - 您可以使用结构列值的属性值过滤查询查询中的行吗?
- extjs - extjs store proxy api 在将其作为变量传递时抛出错误无法识别 url
- c# - 错误 4 参数 5:无法从 'System.Windows.Forms.DataGridViewTextBoxColumn' 转换为 'string'
- google-apps-script - 移动行并取消选中复选框
- asp.net - 带有 React 的 ASP.NET Core - 431 请求标头太长
- javascript - 使用jQuery结合Safari浏览器检测和.on('change', function()
- python - 使用 main 函数的最佳实践
- visual-studio-code - vscode 开发容器是否应该在其设置中运行 npm install ?
- javascript - 在 React 中模拟真实的鼠标点击
- sql-server - 如何设置 Zeppelin 以使用 SQL Server Windows 身份验证