2012-07-27 4 views
0

J'ai une boîte de sélection que je souhaite remplir avec les noms de fichiers d'un seau S3 client. Dans mon contrôleur, je mis la variable comme ceci:ruby ​​on rails Fichiers de liste AWS-S3 dans un seau

@files = AWS::S3::Bucket.find("clientsbucket").objects 

qui, lorsqu'il est appelé à la vue comme options_for_select(@files) donne une liste d'objets, mais dans le format de <AWS::S3::Object:0x4f9e5b8>, <AWS::S3::Object:0x4f9e5a0> etc

Pour la vie de moi je ne peux pas comprendre comment lister le nom de fichier au lieu de cette information d'objet?

Toute aide appréciée muchly

Répondre

0

Eh bien, accéder à la propriété clé du chaque objet dans la vue! La propriété de clé correspond au chemin complet du fichier dans le compartiment.

objects.each do |object| 
    = object.key 

Même si le SDK AWS Documentation n'est pas aussi essayer d'information et de creuser autour .. Utilisez la méthode as_tree sur les objets afin que vous puissiez obtenir les données spécifiques que vous voulez.

http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/Tree.html

Bonne chance !!