Rails 上传图片
来源:互联网 发布:中国何时能拆掉网络墙 编辑:程序博客网 时间:2024/05/22 06:59
1.新建一个项目
rails new avatar
2.在项目的Gemfile中添加:
gem 'carrierwave' gem 'mini_magick'
3.建立一个model
rails g model user name:string email:string
4.建一个controller
rails g controller users
5.为users表添加一个avatar字段
rails g migration add_avatar_to_users avatar:string
6.rake db:migrate
7.生成Avatar
rails generate uploader Avatar #将会生成文件app/uploaders/avatar_uploader.rb
8.为user的model user.rb添加如下代码,使表之间关联
mount_uploader :avatar, AvatarUploader
9.接下来进行修改app/uploaders/avatar_uploader.rb
# encoding: utf-8class AvatarUploader < CarrierWave::Uploader::Base # Choose what kind of storage to use for this uploader: storage :file # storage :fog # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir #定义上传到哪个文件夹下 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def default_url #可以定义默认图片,如过用户没有上传图片,则可以使用默认的图片 "avatar/#{version_name}.png" end # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: def extension_white_list %w(jpg jpeg gif png) end
10.添加routes
resources :users
11.在user_controller.rb中
def index @users = User.all end def new @user = User.new end def create @user = User.new(user_params) @user.save redirect_to user_index_path end # def update # @user = User.find(params[:id]) # @user.update(user_params) # redirect_to user_path # end private def user_params params.require(:user).permit(:name,:email,:avatar) endend
12.views/user/
index.html.erb<% @users.each do |user| %> <%= user.name%> <%= image_tag user.avatar_url if user.avatar %><%end %>new.html.erb<%= form_for @user, :url=>user_index_path do |f| %> <div class="field"> <%= f.label :name %> <%= f.text_field :name %><hr/> <%= f.file_field :avatar %> <%= f.hidden_field :avatar_cache %> </div><hr/> <%= f.submit %><%end%>
0 0
- Rails 上传图片
- Rails图片上传与显示
- Rails中 使用carrierwave实现图片上传
- rails中使用carrierwave上传图片
- rails 上传图片(同时上传多张)
- 轻松掌握Ruby on Rails上传图片实现技巧
- 没有数据库的rails项目,最简单的上传图片
- 关于android上传图片,视频,音频到rails后台服务器
- rails mysql mongoid carrierware gridfs 实现图片上传功能
- ruby on rails爬坑(三):图片上传及显示
- rails上传文件
- Rails中文件上传
- Rails中文件上传
- rails 头像上传
- rails 头像上传
- rails 文件上传
- rails image 处理图片
- 使用Rails实现文件上传
- NYOJ--24素数距离问题
- 服务器返回代码
- 初识python django, 让我们一起进入python的世界吧
- 微信公众号用户与网站用户的绑定方案
- 缓存 LruCache 使用
- Rails 上传图片
- AnyscTask的基本用法
- android点击事件的四种写法
- HDU 1200 To and Fro
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- java异常
- [leetcode] 225.Implement Stack using Queues
- Android隐藏app应用图标
- OC学习,self使用总结和注意事项,理解类和对象,使用self进行理解非常好