Paperclip.interpolates случайно, не возвращая значение - PullRequest
0 голосов
/ 01 декабря 2010

В моей модели установлена ​​следующая скрепка:

  #Paperclip for photo
  has_attached_file :photo,
                    :styles => {
                      :large => '1024x758>',
                      :medium => "200x150#",
                      :small => "50x50>"
                    },
                    :default_style => :original,
                    :default_url => '/images/:attachment/default_:style.png',
                    :path => ":instance_id/:attachment/:id/:version/:style/:basename.:extension",
                    :storage => :s3,
                    :s3_credentials => File.join(Rails.root, 'config', 's3.yml'),
                    :s3_protocol => 'https'

для instance_id У меня есть следующее:

Paperclip.interpolates :instance_id do |attachment, style|

  def instance_id(attachment, style)
    attachment.instance.instance_id
  end

end

Что происходит, когда я впервые запускаю сервер, я замечаю 404 с моими изображениями. Я подумал, что это Amazon S3, но потом просмотрел URL-адреса и заметил, что иногда Paper_ip.interpolates не возвращает instance_id.

Есть идеи, почему? Вы испытывали что-нибудь подобное?

Спасибо

1 Ответ

2 голосов
/ 01 декабря 2010

Если я правильно понимаю, чего вы пытаетесь достичь, то должно работать следующее:

Paperclip.interpolates :instance_id do |attachment, style|
  attachment.instance.instance_id
end

К вашему сведению: ваш метод интерполяции определяет метод, но на самом деле ничего не делает ...

Надеюсь, это поможет,

Peter

...