rails 中上传文件的方法

本文详细介绍如何使用Rails框架和CarrierWave gem实现文件上传功能。从安装CarrierWave开始,逐步引导完成数据库迁移、模型关联及视图配置等步骤。

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

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值