2012-03-21 2 views
1

Я пытаюсь использовать default_style в своем приложении, которое работает на Paperclip 2.2.5 на Rails 3.2.1. По какой-то причине он по-прежнему не соответствует первоначальному размеру, даже когда я указываю использовать меньший размер. Вот модель, в которой я определил прикрепленный файл:default_style не работает в Paperclip on Rails 3.2.1

class Profile < ActiveRecord::Base 
has_one :user 

has_attached_file :cover_image, 
       :styles => { :thumb => "x70", :super_thumb => "x28" }, 
       :default_style => :thumb, 
       :url => "/assets/products/:id/:style/:basename.:extension", 
       :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension", 
       :default_url => "/assets/products/default/default_:style_pic.jpg" 

end 

Когда пользователь создает его/ее профиль без загрузки изображения, изображение по умолчанию с оригинальным размером получает положить там. Проблема в том, что я хочу, чтобы это был: размер большого пальца, как указано выше. Кто-нибудь знает, почему это не работает?

Спасибо.

ответ

2

Ничего, я понял это. Для тех, которые могут иметь такую ​​же проблему, добавьте файл с именем paperclip.rb для конфигурации/инициализаторах и поставить этот:

module Paperclip 
class Attachment 
def default_options 
    @default_options ||= { 
    :default_url  => "/assets/products/default/:style/Testudo1920.jpg", 
    :default_style  => :thumb, 
    :storage   => :filesystem, 
    } 
end 
end 
end 

, а затем в модели, где я прилагаю файлы, я добавил attr_accessor:

class Profile < ActiveRecord::Base 
has_one :user 

attr_accessor :default_url, :default_style 

has_attached_file :cover_image, 
       :styles => {:thumb => "x70", :header => "x50", :super_thumb => "x28"}, 
       :default_style => :header, 
       :url => "/assets/products/:id/:style/:basename.:extension", 
       :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension", 
       :default_url => "/assets/products/default/:style/Testudo1920.jpg" 

end 
Смежные вопросы