Serve up paperclip attachments in a cache friendly way
This commit is contained in:
parent
a6c36b9133
commit
f2150a94cf
7 changed files with 27 additions and 14 deletions
|
@ -56,7 +56,7 @@ defaults: &defaults
|
|||
gpx_trace_dir: "/home/osm/traces"
|
||||
gpx_image_dir: "/home/osm/images"
|
||||
# Location of data for attachments
|
||||
attachments_dir: ":rails_root/public"
|
||||
attachments_dir: ":rails_root/public/attachments"
|
||||
# Log file to use
|
||||
#log_path: ""
|
||||
# List of memcache servers to use for caching
|
||||
|
|
20
config/initializers/paperclip.rb
Normal file
20
config/initializers/paperclip.rb
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue