0

我有一个选择框,我希望填充来自客户端 S3 存储桶的文件名。在我的控制器中,我将变量设置为:

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

当在视图中调用时,它options_for_select(@files)会给出一个对象列表,但格式为<AWS::S3::Object:0x4f9e5b8><AWS::S3::Object:0x4f9e5a0>对于

我的一生,我无法弄清楚如何列出文件名而不是这个对象信息?

非常感谢任何帮助

4

1 回答 1

0

好吧,访问视图中每个对象的 key 属性!key 属性是存储桶中文件的完整路径。

objects.each do |object|
  = object.key

尽管 AWS 开发工具包文档没有提供丰富的信息,但请尝试挖掘。在对象上使用 as_tree 方法,这样您就可以获得所需的特定数据。

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

祝你好运!!

于 2012-08-02T23:40:45.283 回答