文件上传很慢时,UI没有什么用户提示,这样让人很费解,所以我们可以给文件上传添加一个动态而美观的progress_bar
首先给form_for添加一个onsubmit事件,并在form_for下紧跟一个显示progress_bar的div:
<% form_for(:asset, :url => assets_path, :html => { :multipart => true, :onsubmit => "show_progress_bar(this);" }) do |f| %>
<p>
<b>上传文件</b><br />
<%= f.file_field :uploaded_data %>
</p>
<p>
<%= submit_tag "提交" %>
</p>
<% end %>
<div class="progress_bar_div" id="progress_bar_div" style="display: none;">
<dl>
<dt>正在上传中,请稍候...</dt>
<dd>
<span><em id="progress_bar" style="left:200px"></em></span>
</dd>
</dl>
</div>
<script>
function show_progress_bar(x) {
x.setAttribute("style", "display: none;");
document.getElementById("progress_bar_div").setAttribute("style", "display: inline;");
}
</script>
这样,在form提交之前隐藏表单,并显示progress_bar,直到form提交完成,页面跳转
- 描述: 选择文件
- 大小: 8.2 KB
- 描述: progress bar
- 大小: 5.2 KB
分享到:
相关推荐
Paperclip与ActiveRecord紧密集成,使得在Rails应用中添加文件上传功能变得相当便捷。 **Paperclip的基本使用** 1. **安装与配置** 首先,你需要通过Gemfile来安装Paperclip,并运行`bundle install`命令: ```...
Rails 多文件上传插件实现详解 Rails 多文件上传插件是基于 Ruby on Rails 框架的一款插件,旨在实现多文件的同时上传,控制文件的格式、数量,并且兼容多种浏览器,包括 IE6、7、Firefox 等。下面是对插件的详细...
Rails的资源路由还支持成员路由(Member Routes)和集合路由(Collection Routes),允许添加对单个资源或资源集合的操作,如`/users/1/edit`用于编辑用户1,`/users/search`用于搜索用户。 在Rails中,表单和链接...
在Ruby on Rails开发中,有时候我们需要对用户输入的数据进行过滤,特别是处理英文内容时,防止出现不合适的脏话或亵渎性词汇。标题提到的"用于过滤英文脏话的 Rails 插件 gem"正是为了解决这个问题。这个插件允许...
介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...
书里会讲述如何创建、运行和回滚迁移,以及使用schema.rb或db/schema.sql文件。 7. **脚手架(Scaffolding)**:Rails提供快速生成基本CRUD界面的命令,书中可能会讲解如何自定义和使用脚手架。 8. **Gem依赖管理*...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...
自述文件版本和设置$ ruby -vruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]$ rails -vRails 5.2.3使用我创建的特殊模板来加快开发过程。 # ~/rtfb_template.rbgroup :development , :test do gem '...
《IkaGame示例:利用Rails5 ActionCable构建实时通信应用》 Rails5作为Ruby on Rails框架的一个重要版本,引入了ActionCable这一特性,它使得开发实时、双向通信的应用变得异常简单。IkaGame示例就是这样一个利用...
标题中的“从图像生成Bootstrap配色方案的Rails应用程序”是一个基于Ruby on Rails的Web应用,它的主要功能是根据用户上传的图像自动生成匹配的Bootstrap配色方案。Bootstrap是一款流行的前端开发框架,它提供了丰富...
它允许开发者在后台任务(例如数据处理、文件上传等)中创建带有进度条的作业。通过将这些作业添加到队列,然后在前端展示进度,可以提升用户体验,让用户知道后台操作的状态,而不是等待一个未知的时间长度。 在 ...
标题中的“使用Rails4Devise和Grape验证API”揭示了这个项目是关于在Ruby on Rails 4框架中实现用户认证的。Devise是一个灵活的身份验证解决方案,它为Rails应用提供了许多常见的身份验证需求,如注册、登录、密码...
这个模板可以用来显示成功消息,或者将新上传的文件或图片添加到页面上: ```javascript // app/views/uploads/create.js.erb $('.uploads-container').append('(@upload) %>'); $('.alert').show().delay(3000)....
这个 gem 是用于测量gem 的 Rails 集成。 它提供了 ActiveRecord 适配器,用于保存和检索测量值及其单位和模型验证。 用法 活动记录 列应具有_valueand_unit后缀,并且是DECIMALand VARCHAR,并且接受默认值。支持...
Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_...
本篇文章将深入探讨Rails中的文件上传机制,并结合给定的“rails 文件上传”主题,提供关于如何在Rails应用中实现文件上传的详细知识。 1. **ActionDispatch::Http::UploadedFile**: 当用户通过表单上传文件时,...