Rails + CKEditor + Paperclip + AWS S3上传不同文件夹中的文件

时间:2017-02-20 04:26:39

标签: ruby-on-rails ckeditor paperclip

我能够设置CKEditor以允许在我的Rails应用程序中编辑Article模型,并且它将通过Paperclip将任何图像上传到AWS S3。上传成功。

但是,上传的所有图片都不会分成文件夹。当我的应用程序最终有很多文章时,这会导致问题。

例如,要编辑任何一篇文章中的图片,用户必须滚动整个图片列表,甚至是那些不属于争用文章的图片,只是为了找到正确的图片。

有没有办法以有条理的方式上传图片,例如根据每个article titleid的命名空间?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以试试像 -

has_attached_file :picture,
  :storage => :s3,
  :bucket => 'your_bucket',
  :path => "#{Rails.env}/:attachment/:id/:style/:filename.:extension"

您可以传递存储桶名称,存储桶的路径为 my_bucket_name / development / image / 1 / thumbnail / my_thumbnail.jpg

我相信你也可以调用方法或阻塞:bucket来动态处理文件夹的名称......像 -

...
:bucket => get_folders,
...
...

###somewhere in model.rb
def get_folders
 if self.type = 'Admin'
   "admin"
 else
   "user"
end

您可以访问,就像任何其他模型对象一样 -

@picture = Picture.find(params[:id])
###url of the picture
url = @picture.my_attachment_name.url
##considering above scenario,where picture is attachment name
url = @picture.picture.url

你可以尝试一下。

希望它有所帮助。