O clipe de papel com Imagemagick, Amazon S3 e Heroku - Imagemagick & S3 funcionam, mas os campos de clipe de papel não são definidos no banco de dados. Funciona bem no dev
Estou usando o Paperclip com o Imagemagick no meu aplicativo, usando o Amazon S3 para armazenamento. Tudo funciona bem no desenvolvimento. Mas na produção do Heroku não está funcionando corretamente.
A imagem é carregada no Amazon S3 e a criação de miniaturas funciona, para que parte do combo Paperclip, Imagemagick e S3 esteja funcionando corretamente. Mas, por algum motivo, os campos do modelo específico do clipe de papel não estão sendo preenchidos:
imagestore_file_name:
imagestore_content_type:
imagestore_file_size:
imagestore_updated_at:
No desenvolvimento, tudo isso é preenchido, mas não em produção no Heroku. Quando tento exibir uma imagem no aplicativo de produção (Heroku), ele diz que está ausente, mesmo que esteja definitivamente presente no S3. O que poderia estar causando esse erro? Obrigado pela leitura.
Detalhes:
ruby 1.8.7
Rails 3.0.1
Stack: bamboo-mri-1.9.2
EDITAR:
Aqui está a turma. A classe Image estende Media, que estende ActiveRecord :: Base.
class Image < Media
attr_accessor :imagestore_file_name
attr_accessor :imagestore_content_type
attr_accessor :imagestore_file_size
attr_accessor :imagestore_updated_at
has_attached_file :imagestore,
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml",
:path => "/:style/:filename",
:styles => { :medium => "800", :thumb => "150" }
end
Aqui está o registro relevante do Heroku (acho que às vezes pode ser difícil dizer sobre o Heroku)
Parameters: {"authenticity_token"=>"a9+UnIlVH5HRetoN45IlGlGYoeEkpqQ1Qskpe4EGuHw=", "media_input"=>"", "imagestore"=>#<File:/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/RackMultipart20110110-17158-10fuv0p>, "type"=>"uber", "name"=>"Star Wars", "detail"=>""}
[paperclip] identify -format %wx%h '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' 2>/dev/null
[paperclip] convert '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' -resize "800" '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if20110110-17158-ta9egy' 2>/dev/null
[paperclip] identify -format %wx%h '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' 2>/dev/null
[paperclip] convert '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' -resize "150" '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if20110110-17158-13448fs' 2>/dev/null
[paperclip] Saving attachments.
[paperclip] saving /original/starWarsart2.jpg
[paperclip] saving /medium/starWarsart2.jpg
[paperclip] saving /thumb/starWarsart2.jpg
[paperclip] Saving attachments.
Redirected to !!my site url is here!!
Completed 302 Found in 1029ms
Aqui estão os campos relevantes do registro de imagem criado:
imagestore_file_name:
imagestore_content_type:
imagestore_file_size:
imagestore_updated_at:
No desenvolvimento, esses campos têm dados e eu consigo carregar as imagens. Mas não na produção. Obrigado pela ajuda.