AWS paperclip Rails。工作,但当我上传图像时,它更新了Heroku中的所有对象

时间:2017-06-04 14:43:43

标签: amazon-web-services ruby-on-rails-4 amazon-s3 paperclip

我已更新我的Rails应用,以便在生产模式下将上传的图像存储在AWS存储桶中。它工作正常,我可以看到使用(Heroku)时图像上传到AWS。但有一点,当我更新或创建新课程时,上传的图像将成为应用程序中所有课程的图像。如何区分视图以定位每个课程的特定图像?当我看到每个图像的url时,每个图像的url末尾都有一个不同的标识符。所以它不是相同的图像,但看起来只是被复制到AWS中的所有图像或其他东西。任何指向正确方向的人都会非常感激。谢谢小伙子们。

production.rb

        config.paperclip_defaults = {
        storage: :s3,
        s3_credentials: {
            bucket: ENV.fetch('S3_BUCKET_NAME'),
            access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
            secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY')
        },
        s3_host_name: "s3-eu-west-1.amazonaws.com", # Added entry
        url: ":s3_host_name",
        s3_region: 'eu-west-1' # Added entry
    }

我的应用程序中不确定其他代码是否相关。我会按要求添加。谢谢。

1 个答案:

答案 0 :(得分:0)

添加到config / production.rb文件

var app = angular.module('newApp', []);
app.controller('angCtrl', function($scope) {
    $scope.name = "";
});

app.controller('angCtrl', function($scope) {
    $scope.contactlist = [
      {id:'1',name:'raisul',contact:'+8801723844330'},
      {id:'2',name:'Rafikul',contact:'+8801723564330'},
      {id:'3',name:'Shariful',contact:'+8801726864330'},
      {id:'4',name:'kamarul',contact:'+8801723764330'},
      {id:'5',name:'Ashraful',contact:'+8801728864330'},
      {id:'6',name:'Jamarul',contact:'+8801723964330'},
      {id:'7',name:'Rahul',contact:'+8801723861330'},
      {id:'8',name:'Rashidul',contact:'+8801725864330'},
    ]

请注意我所做的改变。我现在打电话给网址:':s3_domain_url'并将其与path:key匹配。这允许每个图像被唯一地存储。而以前它保存到s3_host_name,这是保存图像上次保存的,没有什么是唯一的。

无论如何简单到足以排序一次我理解它好一点。希望这有助于有人下线。