Question

Paperclip is generating wrong URLs in Heroku.

I have an Audio model which has a mp3 field as follows:

class Audio < ActiveRecord::Base
    has_attached_file :mp3,
    :storage => :s3,
    :s3_credentials => S3_CREDENTIALS,
    :bucket => S3_CREDENTIALS[:bucket],
    :path => ":rails_root/public/system/:attachment/:id/:style/:filename",
    :url => "/system/:attachment/:id/:style/:filename"

I am calling audio.mp3.url from a controller, and it returns

http://s3.amazonaws.com/MyApp/audios/mp3s//original/96a9ae89302fdf8462ee05eb829f2e17578b144e20120908-2-11f61zr.mp3?1347135050

instead of

http://s3.amazonaws.com/MyApp/audios/mp3s/000/000/004/original/96a9ae89302fdf8462ee05eb829f2e17578b144e20120908-2-11f61zr.mp3?1347135050 (which works)

Why is it missing the '000/000/004' part of the route?

The same model is generating the right URL when used in a view.

Any help?

I am using paperclip 3.2.0 and Rails 3.1.8. Any help?

Was it helpful?

Solution

It looks like the '000/000/004' part of the route is the new to paperclip as of 3.0 feature of :id_partition. Try changing :id to :id_partition. Maybe you changed url in your code after already having uploaded something?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top