2010-09-14 3 views
33

Question stupide?Paperclip image url

<img alt="Phone_large" src="/system/photos/1/small/phone_large.jpg?1238845838" /> 

Pourquoi "? 1238845838" est-il ajouté au chemin de l'image?

Comment puis-je obtenir mon chemin/URL sans elle?

Répondre

69

Il est communément appelé "cache buster". Paperclip ajoute automatiquement l'horodatage pour la dernière fois que le fichier a été mis à jour.

Supposons que vous deviez supprimer le cache buster et que vous utilisiez /system/photos/1/small/phone_large.jpg à la place. L'URL ne change pas lorsque vous modifiez l'image et vos visiteurs voient l'ancienne image aussi longtemps qu'ils l'ont mise en cache.

Si vous voulez l'enlever il suffit d'appeler .url(:default, timestamp: false). Bien sûr, vous pouvez changer :default en n'importe quel autre style que vous avez défini.

Ou si vous voulez les désactiver globalement, mettez simplement cela dans un fichier config/initializers/paperclip.rb.

Paperclip::Attachment.default_options[:use_timestamp] = false 
+6

Si vous utilisez image_tag helper, l'horodatage sera ajouté quand même, par Rails. –

+4

J'ai eu des problèmes avec '.url (: default, false)', c'était '.url (: original, timestamp: false)' qui a fait le biz pour moi. – kim3er

+0

Comment supprimer le cache_buster ou où placer le .url (: original, timestamp: false) dans le modèle? – rncrtr