Скрепка - стиль по умолчанию для стиля?Возможный - PullRequest
4 голосов
/ 13 октября 2010

Я использую скрепку, и у меня есть несколько стилей:

:styles => {:large => "300x300>", :medium => "150x150>", :small => "50x50>", :thumb => "30x30>" }

Проблема default_stype, относится только к одному из размеров ... : default_style =>: thumb, : default_url => URL здесь ....

Как я могу установить default_stypes для каждого типа стиля? так что если я позвоню: <% = image_tag @ user.profile_pic.url (: большой)%>

У БОЛЬШОГО стиля есть default_url?

Спасибо

Ответы [ 2 ]

4 голосов
/ 13 октября 2010

Это довольно просто. Просто создайте paperclip.rb в ваших / config / initializer и поместите что-то вроде этого:

module Paperclip
  class Attachment
    def self.default_options
      @default_options ||= {
        :url               => "/system/:class/:id/:style_:filename",
        :path              => ":rails_root/public:url",
        :styles            => {},
        :processors        => [:thumbnail],
        :convert_options   => {},
        :default_url       => "/images/missing/:class_:attachment_:style.jpg",
        :default_style     => :original,
        :storage           => :filesystem,
        :whiny             => Paperclip.options[:whiny] || Paperclip.options[:whiny_thumbnails]
      }
    end
  end
end

Это отменяет настройки по умолчанию. Так что вы можете пойти дальше и изменить: default_style на то, что вы хотите.

3 голосов
/ 13 октября 2010

Я бы предложил использовать

has_attached_file :xyz, :url  => "/assets/:id", :path => ":rails_root/assets/photos/:attachable_type/:attachable_id/:id/:basename_:style.:extension",
                  :styles => { :large => "300x300>", :medium => "150x150>", :small => "50x50>", :thumb => "30x30>"}

и получить правильный стиль

/ assets /: id? Style =: style

как localhost: 3000 /assets / 10? style = medium

Примечание: attachcheable_type, attachable_id происходят из полиморфных отношений ..

Надеюсь, это поможет ...

rgds,

Каннан Р

...