版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
详细解答可以参考官方帮助文档
首先用rails生成管理Buckets的controller:
rails g controller buckets index
这样会在oss-manager中生成以下文件:
首先编辑buckets_controller.rb,调用OSS Client,将list_buckets的结果存放在@buckets变量中:
class BucketsController < ApplicationControllerdef index@buckets = OSS.client.list_bucketsendend
然后编辑views/buckets/index.html.erb,将Bucket列表展示出来:
<h1>Buckets</h1><table class="table table-striped"><tr><th>Name</th><th>Location</th><th>CreationTime</th></tr><% @buckets.each do |bucket| %><tr><td><%= link_to bucket.name, bucket_objects_path(bucket.name) %></td><td><%= bucket.location %></td><td><%= bucket.creation_time.localtime.to_s %></td></tr><% end %></table>
其中bucket_objects_path是一个辅助函数,在app/helpers/buckets_helper.rb中:
module BucketsHelperdef bucket_objects_path(bucket_name)"/buckets/#{bucket_name}/objects"endend
这样就完成了列出所有Bucket的功能。在运行之前,我们还需要配置Rails的路由,使得我们在浏览器中输入的地址能够调用正确的逻辑。编辑config/routes.rb,增加一条:
resources :buckets doresources :objectsend
好了,在oss-manager/下输入rails s以启动rails server,然后在浏览器中输入http://localhost:3000/buckets/就能看到Bucket列表了。
最后保存一下代码: