2011-02-14 68 views
1

我已安裝回形針寶石。它在別處被使用,所以我知道它在工作。Ruby on Rails/Paperclip Gem:不調整圖像大小,似乎只保存'原始'圖像

我有我的模型,

class Slide < ActiveRecord::Base 
has_attached_file :image, :style => { 
    :large => "1400x786!", 
    :medium => "128x128>", 
    :small => "105x90!" 
} 
end 

我創造了我的專欄

class AddImageToSlides < ActiveRecord::Migration 
    def self.up 
    add_column :slides, :image_file_name,  :string 
    add_column :slides, :image_content_type, :string 
    add_column :slides, :image_file_size,  :interger 
    add_column :slides, :image_updated_at,  :datetime 
    end 

    def self.down 
    remove_column :slides, :image_file_name 
    remove_column :slides, :image_content_type 
    remove_column :slides, :image_file_size 
    remove_column :slides, :image_updated_at 
    end 
end 

做我扒出,

rake db:migrate 

我有 「{:多=>真}」 中我的表格

<%= form_for(@slide, :class=>"slidesForm", :html => { :multipart => true }) do |f| %> 

而且我試圖拉出圖像信息像這樣,

<div class="slidesPreview" style="background:url('<%= @slide.image.url(:large) %>') top left no-repeat;"> 

當我使用「@ slide.image.url」這隻會工作,但只顯示原始照片。

我看着公共/系統/圖像/,它似乎只保存原始/但不是大/中/小/ /。我檢查了錯誤日誌並沒有任何內容。

我是新學習RoR的小時,所以請原諒我的無知。

回答

3

:style**s** => { ... },不:style => ...(中新加的S!)

0

你根本忘了指定的photo @slide.image.url(:small), @slide.image.url(:medium), @slide.image.url(:large)

+2

請閱讀問題全部。 OP確實使用了.url(:size)表示法。 – 2011-06-01 14:04:22

0

我嘗試以下方法大小。它的工作正常。 我希望這對一些人有幫助。

1.增加在Gemfile中以下寶石:

gem "ImageResize", "~> 0.0.5" 

2.run束

3.使用這控制器功能:

require 'rubygems' 
require 'ImageResize' 

#input_image_filename, output_image_filename, max_width, max_height 
Image.resize('big.jpg', 'small.jpg', 40, 40) 
相關問題