jjzjj

S3Object

全部标签

ruby-on-rails - 在 Rails 中使用 object_id 列的含义

关于Object本身包含object_id并覆盖它的模型(对于多态关联)具有object_id/object_type的含义是什么(http://ruby-doc.org/core-2.3.1/Object.html#method-i-object_id)?classEventbelongs_to:object,polymorphic:true#object_id/object_typeend 最佳答案 当我在我的一个Rails项目(包括所有Gem)的整个代码库中搜索object_id时,我可以看到超过200个匹配项。仅在Rails

ruby-on-rails - object.count 返回 0。但是 object.any?返回真。发生了什么?

@card.submissions返回:]>@card.submissions.any?返回true。@card.submissions.count返回0。我要实现的是:if@card.submissions.any?render@card.submissionsend 最佳答案 看起来Submission是一个新记录(因为id是nil)。如果它是新的,它还没有进入数据库。count对数据库进行SQL调用以确定行数,因此正确地返回零。any?返回true,因为集合中有一个对象。如果您尝试@card.submissions.to_a.

ruby - 创建空文件夹 S3 ruby​​ SDK

我想使用ruby​​sdk在amazonS3中创建一个空文件夹。我读到S3中没有文件夹概念,所以理论上要创建一个文件夹,您只需创建一个带有尾随“/”的空对象s3=Aws::S3::Client.new(region:'eu-west-1',credentials:creds)s3.put_object(bucket:"my_bucket",key:"my_folder/")这样做会在我的存储桶上创建一个空对象,但是如果我尝试上传这样的文件:s3.put_object(bucket:"my_bucket",key:"my_folder/myfile")它不会在my_folder中创建文件

ruby - 如何重命名 S3 存储桶中的文件夹?

听起来很简单,但这似乎是一项异常复杂的任务。 最佳答案 如果您使用的是aws-s3gem,则以下代码会将存储桶BUCKET_NAME中的文件夹OLD_FOLDER_NAME重命名为NEW_FOLDER_NAME:bsize=OLD_FOLDER_NAME.sizebucket=AWS::S3::Bucket.find(BUCKET_NAME)bucket.objects({:prefix=>OLD_FOLDER_NAME}).eachdo|o|AWS::S3::S3Object.rename(o.key,NEW_FOLDER_NAM

arrays - Ruby : Choosing between each, 映射、注入(inject)、each_with_index 和 each_with_object

当我多年前开始编写Ruby时,我花了一段时间才理解each之间的区别。和map.当我发现所有其他的时,情况只会变得更糟Enumerable和Array方法。借助官方文档和manyStackOverflowquestions,我慢慢开始明白那些方法做了什么。不过,这是我花了更长时间才理解的内容:我为什么要使用一种或另一种方法?有任何指导方针吗?我希望这个问题不会重复:我对“为什么?”更感兴趣。比“什么?”或“如何?”,我认为它可以帮助Ruby新手。 最佳答案 一个更tl;dr的答案:Howtochoosebetweeneach,map

ruby-on-rails - 将 CSV 流从 Ruby 上传到 S3

我正在处理潜在的巨大CSV文件,我想从我的Rails应用程序导出这些文件,并且由于它在Heroku上运行,我的想法是在生成这些CSV文件时将它们直接流式传输到S3。现在,我遇到了一个问题,因为Aws::S3需要一个文件才能执行上传,而在我的Rails应用程序中我想做类似的事情:S3.bucket('my-bucket').object('my-csv')我怎样才能做到这一点? 最佳答案 您可以使用s3分段上传,允许通过将大对象拆分为多个block来上传。https://docs.aws.amazon.com/AmazonS3/lat

ruby-on-rails - 注销前更新 current_user 时收到 "Attempted to update a stale object: User"异常

我在我的用户模型上启用了乐观锁定,以处理我代码库各个部分中可能发生的冲突。但是,我遇到了意外冲突,我不知道如何处理它,因为我不知道是什么原因造成的。我正在使用Devisegem进行身份验证,并且正在使用before_logout方法来重置安全token...classSessionsController:createbefore_filter:before_logout,:only=>:destroydefafter_login#logictosetthesecuritytokenenddefbefore_logoutcurrent_user.update(security_token

ruby-on-rails - 弃用警告 : Object#returning has been deprecated in favor of Object#tap

如何更改以下方法以使用tap来停止像这样的警告弃用警告:Object#returning已被弃用,取而代之的是Object#tap。(从/Users/millisami/apps/pandahr/config/initializers/fix_active_model_full_message.rb:17的full_messages调用):ActiveModel::Errors.class_evaldo#Removecomplicatedlogicdeffull_messagesreturningfull_messages=[]doself.each_keydo|attr|self[a

ruby-on-rails - 将 ACL 设置为 public_read 的文件上传到 AWS S3

在我的Rails应用中,我在创建时将客户RMA运输标签保存到S3存储桶中。我刚刚更新到aws-sdkgem的V2,现在我设置ACL的代码不起作用。在V1.X中有效的代码:#SaveslabeltoS3buckets3=AWS::S3.newobj=s3.buckets[ENV['S3_BUCKET_NAME']].objects["#{shippinglabel_filename}"]obj.write(open(label.label('pdf').postage_label.label_pdf_url,'rb'),:acl=>:public_read).write似乎已被弃用,所以

ruby-on-rails - 使用 Paperclip 拒绝访问 S3

我正在熟悉使用带有ruby​​的S3将文件上传到AmazonWebService。我最近遇到了以下错误:AWS::S3::Errors::AccessDeniedAccessDenied。在谷歌上四处寻找,我发现thispost关于错误。它声称存储桶策略不足以允许通过网络应用程序进行访问,并且还必须为用户提供“管理员访问权限”。我已经尝试过了,它工作正常,但我觉得这表明我没有做对,因为我读过的任何其他文档都没有提到管理员访问权限。我正在使用aws-sdkgem。谁能权衡是否需要管理员访问权限?非常感谢! 最佳答案 现有的答案都没有真