我正在使用带有/config/s3.yml文件的paperclip,其中包含以下内容:
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
在我看来,我想动态地做这样的事情:
<img src="http://s3.amazonaws.com/myapp-local-dev/1/photos/15/1/thumb/Logo%20Design%20by%20kuda-1.jpeg" />
或
<img src="http://s3.amazonaws.com/myappname-313-production/1/photos/15/1/thumb/Logo%20Design%20by%20kuda-1.jpeg" />
以某种方式,了解当前环境然后获取存储桶名称。可能?感谢
答案 0 :(得分:2)
YAML.load_file("#{Rails.root}/config/s3.yml")[Rails.env]["bucket"]
如果您只想返回存储桶名称,应该可以解决这个问题。
如果您使用带有aws / s3的Paperclip,则应自动处理。
所以:
<%= image_tag @my_obj.image.url %>
应该返回所需的网址,无论环境如何
希望有帮助吗?