Я написал пост об этом несколько месяцев назад.Я также писал о том, как вы можете добавлять свойства из класса, например, не используя идентификатор (мне это не нравится) и вместо этого используя токен.
Прочтите пост здесь ...
Основы:
, чтобы получить путь с идентификатором
has_attached_file :avatar,
:styles =>
{
:tiny => "48x48>",
:preview => "175x175>",
:large => "300x300>",
:huge => "500x500>"
},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":class/:attachment/:id/:style.:extension",
:bucket => 'lopsum',
:default_url => "/images/photo01.jpg"
и, если вы хотите изменить его на что-то другое ...
has_attached_file :avatar,
:styles =>
{
:tiny => "48x48>",
:preview => "175x175>",
:large => "300x300>",
:huge => "500x500>"
},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":class/:attachment/:token/:style.:extension",
:bucket => 'lopsum',
:default_url => "/images/photo01.jpg"
и в инициализаторе
Paperclip.interpolates :token do |attachment, style|
attachment.instance.token
end