【发布时间】:2016-11-19 22:09:56
【问题描述】:
我有一个名为 SpacePhoto 的模型。 SpacePhoto has_attached_file :photo 通过回形针。
SpacePhoto 曾经有一个整数 ID,但我最近将其更改为 UUID,并进行了以下迁移:
class ChangePhotoPrimaryKeyType < ActiveRecord::Migration
def change
add_column :space_photos, :uuid, :uuid, default: "uuid_generate_v4()", null: false
change_table :space_photos do |t|
t.remove :id
t.rename :uuid, :id
end
execute "ALTER TABLE space_photos ADD PRIMARY KEY (id);"
end
end
要获取 url,我会使用space_photo.photo.url,但现在它不再给我正确的 url。例如,在运行迁移之前,我会得到 url https://s3-us-west-2.amazonaws.com/instally.beta/space_photos/photos/000/000/071/original/avatar.jpg?1478889772 。现在,我得到https://s3-us-west-2.amazonaws.com/instally.beta/space_photos/photos/086/a71/a9-/original/avatar.jpg?1479167261
区别在于 URL 中间的 3 组 3 个字符,但我对 Paperclip 的内部结构了解得不够多,无法弄清楚这些字符的来源。
【问题讨论】:
标签: ruby-on-rails amazon-web-services amazon-s3 paperclip