回形针 - 每种样式的默认样式?可能

时间:2010-10-13 02:15:14

标签: ruby-on-rails ruby-on-rails-3 paperclip

我正在使用paperclip,并且有几种风格:

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

问题是default_stype,仅适用于其中一种尺寸...... :default_style => :拇指, :default_url =>在这里url ....

如何为每种样式类型设置default_stypes?所以,如果我打电话: <%= image_tag @ user.profile_pic.url(:large)%>

LARGE样式有一个default_url?

由于

2 个答案:

答案 0 :(得分:4)

这很容易。只需在/ config / initializers中创建paperclip.rb并在其中输入类似内容:

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到你想要的任何东西。

答案 1 :(得分:3)

我建议使用

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>"}

并获得正确的风格

/资产/?ID =样式:样式

如localhost:3000 / assets / 10?style = medium

注意:attacheable_type,attachable_id来自多态关系..

希望它有所帮助...

RGDS,

Kannan R

相关问题