rails 中上传文件的方法

在做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| %>
  

<%= f.file_field :apk %> <%= f.hidden_field :apk_cache %>

<% end %>

 (如果你想调用这个文件的url 可以使用@version.apk_url)

 

到这步,就基本的实现了上传文件功能

 

你可能感兴趣的:(Ruby,on,Rails)