`
stinge
  • 浏览: 153752 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails上传文件_paperclip

阅读更多

rails上传文件

 

插件:paperclip

 

一、模型

首先在模型文件里加上以下代码:

 has_attached_file :photo  , :styles => { :medium => "300x300", :thumb => "100x100" }

 

二、数据库迁移文件

然后修改migrate,添加存储图片信息的字段:

class AddAttachmentsPhotoToProduct < ActiveRecord::Migration
  def self.up
    add_column :products, :photo_file_name, :string
    add_column :products, :photo_content_type, :string
    add_column :products, :photo_file_size, :integer
    add_column :products, :photo_updated_at, :datetime
  end

  def self.down
    remove_column :products, :photo_file_name
    remove_column :products, :photo_content_type
    remove_column :products, :photo_file_size
    remove_column :products, :photo_updated_at
  end
end

 

三、视图文件

 

form_tag的模板:

 

  <% form_tag  :multipart => true  do %>
    <%= file_field_tag "photo" %>
  <% end %>
 

form_for的模板:

<% form_for :user, @product, :html => { :multipart => true } do |f| %>
    <%= f.file_field :photo%>
  <% end %>

 

读取图片时:

 <%= image_tag @product.photo.url %>
  <%= image_tag @product.photo.url(:medium) %>
  <%= image_tag @product.photo.url(:thumb) %>
 

附上paperclip插件

 

 

 

分享到:
评论

相关推荐

    Rails Best Practices

    5. **使用gem**:Rails社区有大量优秀的gem,如Devise用于用户认证,CanCanCan进行权限控制,Carrierwave或Paperclip处理上传等。合理选择和使用gem可以快速实现功能,同时注意版本管理和gem的更新。 6. **测试驱动...

    rails 文件上传

    本篇文章将深入探讨Rails中的文件上传机制,并结合给定的“rails 文件上传”主题,提供关于如何在Rails应用中实现文件上传的详细知识。 1. **ActionDispatch::Http::UploadedFile**: 当用户通过表单上传文件时,...

    升级版本后Rails的文件上传

    Rails提供了多种处理文件上传的方法,包括直接存储到本地文件系统、使用云存储服务(如Amazon S3)以及第三方库如Paperclip、Carrierwave或ActiveStorage等。在升级Rails版本后,我们需要关注以下几个关键知识点: ...

    Rails的自动完成分页插件

    在Rails应用中处理文件上传,常见的插件有Paperclip、Carrierwave或ActiveStorage(自Rails 5.2起内置)。这些插件提供了处理文件上传、存储、版本控制和删除的功能。它们可以将文件存储在本地磁盘、云服务如Amazon...

    使用Rails上传和转换视频

    以上就是使用Rails上传和转换视频的基本流程。在开发过程中,确保遵循最佳实践,如安全存储文件、优化性能、以及考虑跨平台兼容性。通过不断学习和实践,你可以构建出高效且功能丰富的视频处理系统。

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...

    rails 多图上传.txt

    - 使用Paperclip处理上传的文件,包括存储和缩放等操作。 通过上述步骤,即可实现一个完整的Rails多图上传功能。此方案不仅提供了前端用户友好的交互体验,还利用了Paperclip的强大功能来简化后端处理流程。

    Advanced Rails

    7. **Rails插件与Gem**:Rails社区提供了丰富的插件和Gem,如Devise用于身份验证,Paperclip或Carrierwave处理文件上传,Resque或Sidekiq实现后台任务队列。掌握如何选择和使用这些工具来扩展应用功能。 8. **Rails...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    4. **Paperclip** 和 **CarrierWave**:这两个Gem用于文件上传,支持图片处理和存储服务集成。 5. **Pundit**:轻量级的授权库,用于创建更细粒度的权限控制,相比CanCanCan更简单。 6. **Bootstrap-Sass** 和 **...

    ruby上传文件

    9. **Carrierwave或Paperclip**:这两个是Ruby社区广泛使用的文件上传库,它们提供了处理文件上传、缩略图生成、版本控制等功能,简化了开发流程。 10. **Validation**:在保存文件信息到数据库之前,你可能需要...

    ruby on rails最新版

    例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave处理文件上传,Stripe或PayPal集成支付功能,以及各种数据分析和报表生成库等。 总的来说,这个压缩包对于Ruby on Rails的初学者或希望...

    Ruby_on_Rails实践.rar

    最后,Rails社区非常活跃,有许多优秀的第三方库和gem,如Devise用于用户认证,CanCanCan进行权限控制,Paperclip或Carrierwave处理文件上传等。这些gem可以帮助开发者快速实现功能,减少重复工作。 总结来说,Ruby...

    Ruby-CarrierWaveRubyWeb框架更优雅的解决方案文件上传

    Ruby-CarrierWave 是一个流行的文件上传库,专为Ruby Web框架如Rails和Sinatra设计,旨在提供一种更优雅、更灵活的方式来处理文件上传。它弥补了Ruby标准库在处理文件上传时的不足,提供了丰富的功能和易于定制的...

    Ruby_on_Rails快速Web应用开发实战

    RoR社区活跃,有许多优秀的gem(RoR的扩展库)可供使用,例如Devise用于用户认证,CanCanCan进行权限控制,Carrierwave或Paperclip处理文件上传,Bootstrap gems帮助快速构建响应式界面等。这些gem极大地扩展了RoR的...

    rails-1.0.0

    10. **社区和生态系统**:Rails拥有庞大的开发者社区,产生了许多优秀的第三方Gem库,如Devise(身份验证),Paperclip(文件上传),Pundit(权限控制)等,丰富了Rails的功能。 Rails 1.0.0的发布标志着Web开发...

    ruby on rails 2.3.5 api html版

    10. **插件和Gem**:Rails的生态系统中,Gem是第三方库的主要形式,它们提供了额外的功能,如Devise用于身份验证,CanCanCan用于授权,Paperclip或Carrierwave处理文件上传等。 11. **部署**:了解如何将Rails应用...

    ruby on rails 3 tutorial.pdf

    例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave处理文件上传等。 此外,本书还会介绍Rails的安全实践,包括防止SQL注入、XSS攻击等常见Web安全问题。你将学习如何使用strong parameters...

    ruby on rails在线考试系统

    例如,Devise用于用户认证,Cancancan进行权限控制,Paperclip或Carrierwave处理文件上传等。 8. 安全性:Rails内置了一些安全特性,如CSRF(跨站请求伪造)防护、XSS(跨站脚本攻击)防护以及参数过滤等。在考试...

Global site tag (gtag.js) - Google Analytics