回形针在Heroku中生成错误的URL

时间:2012-09-08 21:08:03

标签: heroku ruby-on-rails-3.1 paperclip ruby-1.9.2

Paperclip在Heroku中生成错误的网址。

我有一个音频模型,其中有一个mp3字段如下:

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"

我从控制器调用audio.mp3.url,然后返回

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

而不是

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

为什么缺少路线的'000/000/004'部分?

同一模型在视图中使用时会生成正确的URL。

任何帮助?

我正在使用paperclip 3.2.0和Rails 3.1.8。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

看起来路线的'000/000/004'部分是:id_partition的3.0特征的回形针新功能。尝试将:id更改为:id_partition。也许你已经在上传了一些内容后更改了代码中的网址?