`
jshmemory
  • 浏览: 3718 次
  • 性别: Icon_minigender_2
  • 来自: 山东
最近访客 更多访客>>
文章分类
社区版块
存档分类

用attachment_fu 以及 Rmagick 插件完成上传图片的功能

阅读更多
以前做这块的时候,一起遇到插件安装不上的问题。现在终于解决了。拿出来和大家分享一下。因为要完成上传图片的这个功能,需要用到两个插件:attachment_fu 以及 Rmagick.
所以第一步:安装插件:
sudo gem install rmagick
ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/attachment_fu/
ruby script/plugin install http://sean.treadway.info/svn/plugins/responds_to_parent/
二。用scaffold 创建一个资源
ruby script/generate scaffold photo
*不要忘了修改一下database.yml里面的配置。
三。修改一下migration表:
  
 class CreateAssets < ActiveRecord::Migration  
      def self.up  
        create_table :assets do |t|  
          t.column :filename, :string  
          t.column :content_type, :string  
          t.column :size, :integer  
          t.column :width, :integer  
          t.column :height, :integer  
          t.column :parent_id, :integer  
         t.column :thumbnail, :string  
         t.column :created_at, :datetime  
       end  
     end  
    
     def self.down  
       drop_table :assets  
     end  
  end
 
四。在model里要运用到这个attachment_fu 插件,要写调用语句:
 class Asset < ActiveRecord::Base  
  has_attachment  :storage => :file_system,   
                  :max_size => 1.megabytes,  
            :thumbnails => { :thumb => '80x80>', :tiny => '40x40>' },  
                                    :processor => :Rmagick   
 end

五。在index.html里面调用脚本
"prototype", "effects", "application"
也可以在主页里面用: <%= javascript_include_tag :defaults %>|| <%= javascript_include_tag :all%>
六。修改photo/index.html页面
<% form_for(:asset, :url => assets_path, :html => { :multipart => true }) do |f| %>
        <p>  
        <label for="uploaded_data">Upload a file:</label>
        <%= f.file_field :uploaded_data %>
        </p>
        <p><%= submit_tag "Create" %></p>
      <% end %>
      <iframe id='upload_frame' name="upload_frame" style="width:1px;height:1px;border:0px" src="about:blank"></iframe>  
      <ul id="assets">
        <% @assets.each do |a|%>
          <li id="asset">
          <%= link_to image_tag(a.public_filename(:tiny)) %><br />
          </li>
        <% end %>
      </ul>

七。修改一下photo.controller.rb里面的create action
def create
    @asset = Asset.new(params[:asset])
    respond_to do |format|
      if @asset.save
        flash[:notice] = '图像已经成功上传'
        format.html { redirect_to (@asset) }
        format.xml  { head :created, :location => asset_url(@asset) }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @asset.errors.to_xml }
      end
    end
end

[b]这样,在routes.rb文件里设置一下路由就可以rakd db:migrate 运行了。好了,到浏览器里去看看效果吧。嘿嘿嘿。。
分享到:
评论
2 楼 Omnibus 2009-02-19  
jshmemory 写道
???why no people has problem??


Only minor problems.  It is quite easy to solve them.
1 楼 jshmemory 2009-02-18  
???why no people has problem??

相关推荐

    rmagick-2.16.0.gem

    安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.0 gem

    rmagick-2.3.0-x86-mswin32.gem

    安装完成后,就可以在Ruby代码中通过`require 'rmagick'`来导入并使用它。 例如,一个简单的验证码生成示例可能包括以下步骤: 1. 生成随机文本。 2. 创建一个新的图像对象。 3. 在图像上画出随机文本,应用扭曲和...

    rmagick-2.10.0.gem

    rails 插件rmagick 2.10.0 gem

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar 包含 rmagick-2.13.2.gem ImageMagick-6.5.6-8-Q8-windows-dll.exe RMagick-2.12.0.tar.gz rmagick-2.12.0-x86-mswin32.gem

    easy_captcha:验证码插件(Rails)

    对于Java,您可以使用 gem 'rmagick4j' 捆绑执行后 rails g easy_captcha: install 配置 如果要自定义默认配置,则可以在“ config / initializers / easy_captcha.rb”中配置easy_captcha。 EasyCaptcha . setup ...

    rmagick:ImageMagick的Ruby绑定

    马吉克目录介绍RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。先决条件最新版本的RMagick需要具备这些先决条件。 操作系统Linux * BSD 苹果系统视窗其他* nix类系统Ruby2.3版或更高版本。 您可以从获得...

    redmine3.3.1安装与常用插件安装.pdf

    这些库包括但不限于:bundler(用于管理Rubygem依赖)、rails、mysql2(Ruby的MySQL驱动)、rmagick(Ruby操作图片库)、jquery-rails(jQuery的Rubygem版本)等。例如,安装bundler的命令是gem install bundler,...

    rails上传图片代码实例

    今天讲解一下rails的图片上传,就是最平常的上传图片 这里的rails版本2.3.5 首先新建一个write_pic model内容如下: 代码如下:class WritePicrequire “RMagick”require “uuid”def self.write(pic_data,ori_name,...

    ruby图片处理工具

    安装完成后,就可以在 Ruby 代码中导入 Rmagick 库,并使用其提供的各种图像处理功能。 例如,以下是一个简单的示例,展示如何用 Rmagick 读取和显示一张图像: ```ruby require 'rmagick' image = Magick::Image...

    Ruby-Ruby绑定ImageMagick

    Ruby是一种强大的动态编程语言,广泛应用于Web开发、脚本编写以及各种高级编程任务。...无论是Web应用中的图像上传处理,还是独立的图像处理脚本,RMagick都能满足需求,帮助你实现高效且高质量的图像处理功能。

    px4test:连续交付的测试脚本

    Hans-CI用于嵌入式硬件上的持续集成官方网站: : 用户数先决条件通过软件包管理器安装操作系统依赖项:苹果系统brew install opencv imagemagick ninjasudo gem install specific_install和RMagick: sudo gem ...

    jekyll-gallery-generator, 从目录中生成照片库的osm插件.zip

    jekyll-gallery-generator, 从目录中生成照片库的osm插件 库生成器这是一个 Jekyll插件插件,它从目录满的图片生成库。 它使用 RMagick 创建缩略图。这个插件很简单。 它生成无分页。无子库和无描述的库。 查看我的...

    hornetseye-rmagick:WaSP眼的 RMagick 集成

    hornetseye-rmagick 作者: Jan Wedekind版权所有: 2010许可证: GPL 概要 这个 Ruby 扩展实现了必要的转换,以保存和加载存储在 {Hornetseye::MultiArray} 中的图像。 安装 hornetseye-rmagick使用RMagick Ruby 扩展...

    benchmark_driver-output-gruff:Benchmark_Driver插件以渲染条形图

    BenchmarkDriver :: Output :: Gruff 基准测试驱动程序插件,用于使用gruff.gem渲染图形。安装安装rmagick.gem的依赖项。 另请参阅: : # macOSbrew install imagemagick@6PKG_CONFIG_PATH=/usr/local/opt/...

    从图像 生成 Bootstrap配色方案的 Rails 应用程序_css_ruby_html_代码_下载

    标题中的“从图像生成Bootstrap配色方案的Rails应用程序”是一个基于Ruby on Rails的Web应用,它的主要功能是根据用户上传的图像自动生成匹配的Bootstrap配色方案。Bootstrap是一款流行的前端开发框架,它提供了丰富...

    rmagick-2.13.1-x86-mingw32.gem

    redmine的一个包文件,可以用来导出为pdf,图像的功能

    photoGallery:优雅的杰基尔照片廊

    我想分享我的jekyll照片库,它简单,功能齐全,移动友好且最基本,最漂亮! 画廊基于的设计,并利用完成了大部分繁重的工作(有些改动)。 演示库: : 依存关系 (从插件仓库复制) &gt; = 2.1 在OS X上安装依赖项 ...

    Windows下Redmine_2.5.2安装和配置

    4. `RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip`:RMagick gem,用于图像处理,Redmine中的问题可以附带图片。 5. `xampp-win32-1.8.3-0-VC11-installer.exe`:XAMPP,一个免费的Web服务器套件,包括Apache、MySQL...

    minimagick:RMagick的迷你替代品

    使用MiniMagick,ruby进程的内存仍然很小(它生成了ImageMagick的命令行程序mogrify,该程序也占用了一些内存,但是比RMagick小得多)。 请参阅正在 以下。 MiniMagick使您可以访问ImageMagick拥有的所有命令行...

    rbpdf:Ruby on Rails TCPDF插件

    RBPDF模板插件 模板插件,允许包含启用ERB的RBPDF模板文件。 RBPDF版本(新版本或UTF8版本) 使用UTF-8编码。 支持RTL(从右至左)语言。 HTML标签支持。 CSS最低支持。 图片 没有MiniMagick / RMagick库的8位...

Global site tag (gtag.js) - Google Analytics