Ruby on rails 回形针不会生成S3URL
我正在将用户上传的文件迁移到S3存储桶中。它们被成功迁移了,或者我认为是这样,因为它们都列在我的bucket的仪表板中。然后,我遵循和指导设置S3集成。我的文件如下所示:Ruby on rails 回形针不会生成S3URL,ruby-on-rails,amazon-s3,paperclip,Ruby On Rails,Amazon S3,Paperclip,我正在将用户上传的文件迁移到S3存储桶中。它们被成功迁移了,或者我认为是这样,因为它们都列在我的bucket的仪表板中。然后,我遵循和指导设置S3集成。我的文件如下所示: (...) #Image upload gem 'paperclip' gem 'aws-s3' # gem 'aws-sdk' won't work either (...) config.paperclip_defaults = { :storage => :s3, :path => ":class/
(...)
#Image upload
gem 'paperclip'
gem 'aws-s3' # gem 'aws-sdk' won't work either
(...)
config.paperclip_defaults = {
:storage => :s3,
:path => ":class/:attachment/:id/:style/:filename.:extension",
:s3_credentials => {
:bucket => "MY_BUCKET",
:access_key_id => "MY_ACCESS_ID",
:secret_access_key => "MY_SECRET"
}
}
config/initializers/paperclip.rb:
config/environments/development.rb和config/environments/production.rb都以以下配置结尾:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => "MY_BUCKET",
:access_key_id => "MY_ACCESS_ID",
:secret_access_key => "MY_SECRET"
}
}
但当我尝试获取我的附件URL时,例如User.find163.avatar.URL,它会产生:
":s3_path_url?1405653975"
有什么想法吗?使用User.find163.avatar.url,如果以后指定样式,可以将其传递到url方法,如下所示:User.find163.avatar.url:style 编辑: 然后,我建议您删除文件initializers/paperclip.rb,并包括config.paperclip_默认值的路径,如下所示:
(...)
#Image upload
gem 'paperclip'
gem 'aws-s3' # gem 'aws-sdk' won't work either
(...)
config.paperclip_defaults = {
:storage => :s3,
:path => ":class/:attachment/:id/:style/:filename.:extension",
:s3_credentials => {
:bucket => "MY_BUCKET",
:access_key_id => "MY_ACCESS_ID",
:secret_access_key => "MY_SECRET"
}
}
对不起,我的错。我忘了在原始帖子中添加.url。编辑以澄清。更新了评论,如果有帮助请告诉我,直到没有成功为止。=`=>/system/avatars/163/original/stringio.txt?1405653975`尝试添加aws sdk gem,在我的最新项目中,我有两个gem,不确定是否都需要。。。我一定要检查它是本地存储文件还是将文件上传到S3?