2010-11-06 10 views
0

J'utilise paperclip qui a un fichier /config/s3.yml ce qui suit:S3.YML - Accéder à une variable? basé sur l'actuel Env?

common: &common 
    access_key_id: XXXXXXXXXX 
    secret_access_key: XXXXXXXXXXXXXXXXXXXX 

development: 
    <<: *common 
    bucket: myapp-local-dev 

test: 
    <<: *common 
    bucket: myapp-123-test 

production: 
    <<: *common 
    bucket: myappname-313-production 

À mon avis, je voudrais pouvoir faire dynamiquement quelque chose comme ceci:

<img src="http://s3.amazonaws.com/myapp-local-dev/1/photos/15/1/thumb/Logo%20Design%20by%20kuda-1.jpeg" /> 

ou

<img src="http://s3.amazonaws.com/myappname-313-production/1/photos/15/1/thumb/Logo%20Design%20by%20kuda-1.jpeg" /> 

d'une certaine façon, connaître l'environnement actuel, puis obtenir le nom du seau. Possible? grâce

Répondre

2

YAML.load_file("#{Rails.root}/config/s3.yml")[Rails.env]["bucket"]

devrait faire l'affaire si vous voulez juste retourner le nom du godet.

Si vous utilisez Paperclip avec aws/s3, cela devrait être géré automatiquement.

Alors:

<%= image_tag @my_obj.image.url %> doit retourner l'URL souhaitée quel que soit l'environnement

Espoir qui aide?

Questions connexes