![](/img/trans.png)
[英]Deploying content from a staging site to production with the, Heroku, CKEditor gem, Paperclip and Amazon S3
[英]CKEditor gem with Paperclip and Amazon S3
我正在使用CKEditor,并且已将其配置为可与Paperclip一起使用,但是我不能告诉它将文件存储在S3中,因此它是使用Paperclip将文件存储在本地文件系统上。
所以我想知道是否有某种方法可以告诉Paperclip每次使用时都要明确使用S3。
我知道如何在某些模型上用S3配置Paperclip(非常简单,在paperclip github wiki上有介绍)。 我正在Heroku上进行部署,这就是为什么我无法写入本地文件系统的原因。
一种方法是查看ckeditor安装生成器在做什么。 例如,如果将ActiveRecord用作ORM,请查看此处用于使用Paperclip的模型的模板。
生成器实际上将此模板复制到您的app / models / ckeditor文件夹中。 您可以编辑它们并根据需要配置,以使Paperclip使用S3。
对于ActiveRecord,模型为:
/app/models/ckeditor/attachment_file.rb
/app/models/ckeditor/picture.rb
请记住,如果更新了ckeditor gem,并且更新过程需要覆盖此模型,则这种方法将来可能会给您带来额外的工作。
否则,您可以使用回形针的默认选项。 在您的回形针初始化器(/config/initializers/paperclip.rb)中,使用:
Paperclip::Attachment.default_options.merge!(
YOUR OPTIONS FOR S3 HERE
)
对于carrierwave,您可以生成上传器,然后可以在其中配置s3或所需的任何文件。
class CkeditorAttachmentFileUploader < CarrierWave::Uploader::Base
include Ckeditor::Backend::CarrierWave
# Choose what kind of storage to use for this uploader:
if Rails.env.production?
storage :fog
else
storage :file
end
....
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.