Serve up paperclip attachments in a cache friendly way

This commit is contained in:
Tom Hughes 2012-02-20 00:38:05 +00:00
parent a6c36b9133
commit f2150a94cf
7 changed files with 27 additions and 14 deletions

View file

@ -0,0 +1,20 @@
module Paperclip
class AssetUrlGenerator < UrlGenerator
include Sprockets::Helpers::IsolatedHelper
include Sprockets::Helpers::RailsHelper
def for(style_name, options)
url = super(style_name, options)
if url =~ /^\/assets\/(.*)$/
asset_path($1)
else
url
end
end
end
end
Paperclip::Attachment.default_options[:url] = "/attachments/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
Paperclip::Attachment.default_options[:path] = "#{ATTACHMENTS_DIR}/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
Paperclip::Attachment.default_options[:url_generator] = Paperclip::AssetUrlGenerator