【问题标题】:Paperclip - Default Style per Style? Possible回形针 - 每个样式的默认样式?可能的
【发布时间】:2011-04-24 15:16:28
【问题描述】:

我用的是回形针,有几种样式:

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

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

如何为每种样式类型设置 default_stypes?所以如果我打电话:

LARGE 样式有一个 default_url?

谢谢

【问题讨论】:

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


    【解决方案1】:

    这相当容易。只需在 /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 更改为您想要的任何内容。

    【讨论】:

      【解决方案2】:

      我建议使用

      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

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

      希望对你有帮助...

      rgds,

      坎南R

      【讨论】:

      • 请在发布答案时格式化您的代码(使用 4 个空格缩进)
      • 谢谢,但我不明白如何为每种样式设置默认图像?应该有default_profile_pic_large.png、default_profile_pic_medium.png、default_profile_pic_small.png、default_profile_pic_thumb.png。我不确定我是否遵循上述解决方案?我没有挑战获得一种特定的风格,只要让它足够聪明,就可以采用每种风格的默认风格。想法?
      • 默认应该是一种风格,不是吗?如果您正在寻找用户没有上传图像的东西,那么在少数地方您想使用默认的大图像,而在其他一些地方您想使用默认的小图像,默认的拇指图像......由杂货店指定:default_url => "/images/missing/default_profilepic_:style.jpg" 应该可以解决您的问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多