2010-11-20 7 views

Répondre

0

Si vous téléchargez des fichiers S3 puis amazon

s3.url
donne le chemin de l'image. Mais en cas de stockage de fichiers local, vous pouvez définir: url option également

1

En supposant que vous voulez le comportement de travailler comme _url helpers sur le niveau contrôleur/vue, c'est un peu compliqué car les fonctions paperclip sans l'avantage de connaître l'hôte de la requête. Un moyen facile de contourner ce problème consiste à définir la HOST constante dans la config/environnements/ENV.rb et en faisant passer le paramètre URL pour has_attachment comme

:url => "http://#{HOST}/:path" 

ou quoi que vos règles d'URL sont.

Vous pouvez pas également partie ce problème en utilisant S3, qui est en quelque sorte un économiseur vie

+0

Merci, j'ai essayé cela mais il suffit de rendre # # HOST} – AnApprentice

+0

assurez-vous que vous avez défini HOST et utilisez des guillemets doubles (c'est juste normal construit en interpolation de chaîne) –

2

Une fois que vous configurez la chaîne :url d'interpolation à votre satisfaction, vous pouvez créer un lien vers des pièces jointes avec l'URL complète en utilisant quelque chose comme:

def attachment_path(attachment) 
    attachment.url 
end 

def attachment_url(attachment) 
    "#{root_url}#{attachment.url.gsub(/^\//, '')}" 
end 
Questions connexes