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