在做web前端时,难免会遇到要让用户上传文件的时候,而rails 提供了一个非常好用的gem --
carrierwave
第一步:安装gem-carrierwave
第二步:项目中需要有一个叫upload的 generate (假定我们要上传一个apk)
$ rails g uploader Apk
这一步会创建一个app/uploaders/apk_uploader.rb
第三步:在对应的数据库中添加对应的字段(我的是versions)
$ rails g migration AddApkToVersions apk:string
(数据表中就多了一个apk字段)
第四步:执行数据库迁移
$ bundle exec rake db:migrate
第五步:在 Version的model文件中添加如下(使之与表关联)
mount_uploader :apk, ApkUploader
第六步:在你想添加的view中添加
例如:
<%= form_for @user, :html => {:multipart => true} do |f| %> <p> <label>上传apk</label> <%= f.file_field :apk %> <%= f.hidden_field :apk_cache %> </p> <% end %>
(如果你想调用这个文件的url 可以使用@version.apk_url)
到这步,就基本的实现了上传文件功能
相关推荐
NULL 博文链接:https://dendrobium.iteye.com/blog/305938
NULL 博文链接:https://mylir.iteye.com/blog/800734
可实现多文件的同时上传,控制文件的格式,数量,同时兼容IE6,7,firefox,易于扩展
jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...
博文链接:https://agi-alvin.iteye.com/blog/77580
安装在Gemfile中: gem 'rails-uploader'在航线上: mount Uploader :: Engine => '/uploader' 迁移ActiveRecord: $ bundle exec rails g uploader:install用法存储上传文件的架构(cancan集成): class Asset <...
css和图片 博文链接:https://hideto.iteye.com/blog/197517
jack_up, 在 Rails 中,[DEPRECATED] 轻松AJAX文件上传 从October年8 月开始,已经不推荐使用 另外,对于其他的, 付费和免费的上传工具,JackUp已经被否决了。 JackUp简单AJAX文件在 Rails 中上传。安装修改你的...
Active Storage 使得在Rails应用中能够很方便上传和引用云服务中的文件,像Amazon S3或Google Cloud Storage,并将这些文件附加到Active Records中。 它还提供用于测试或本地部署的磁盘服务,但重点是云存储。
NULL 博文链接:https://hlee.iteye.com/blog/360099
含有rails的自动完成,上传文件 ,分页,上传文件进度插件
CarrierWave - Rails、Sinatra和其它Ruby Web框架更优雅的解决方案文件上传
文件上传控件支持多个文件选择,拖放支持,进度条,验证和预览图像,音频和视频的jQuery插件。...支持标准的HTML表单文件上传和任何服务器端平台(谷歌应用程序引擎,PHP,Python和Ruby on Rails的,Java等)。
具有多文件上传、拖拽、进度条和图像预览功能的文件上传插件,支持跨域、分块、暂停恢复和客户端...可与任何服务端平台(如PHP、Python、Ruby on Rails、Java、Node.js、Go等)一起使用,支持标准的HTML表单文件上传。
这个 gem 提供了一种简单且极其灵活的方式来从 Ruby 应用程序上传文件。 它适用于基于 Rack 的 Web 应用程序,例如 Ruby on Rails。 CarrierWave 为您提供永久存储的存储和临时存储的缓存。 您可以使用不同的存储,...