使用Paperclip和Amazon S3的CKEditor gem

Agi*_*gis 1 ruby-on-rails amazon-s3 paperclip ckeditor

我正在使用CKEditor并且我已将其配置为与Paperclip一起使用但我不能告诉它在S3中存储文件,因此它使用Paperclip存储它们但在本地文件系统上.

所以我想知道是否有某种方法告诉Paperclip每次使用时都明确使用S3.

我知道如何在某些模型上配置带有S3的Paperclip(非常简单,在paperclip github wiki上有描述).我正在Heroku上部署,这就是我无法写入本地文件系统的原因.

Chr*_*ian 5

一种方法是查看ckeditor安装生成器正在做什么.例如,如果将ActiveRecord用作ORM,请查看用于此处使用Paperclip的模型的模板.

生成器实际上将此模板复制到app/models/ckeditor文件夹中.您可以编辑它们并根据需要配置Paperclip以使用S3.

对于ActiveRecord,模型是:

/app/models/ckeditor/attachment_file.rb
/app/models/ckeditor/picture.rb
Run Code Online (Sandbox Code Playgroud)

请记住,如果更新ckeditor gem并且更新过程需要覆盖此模型,则此方法可以在将来为您提供额外的工作.

否则,您可以使用Paperclip默认选项.在你的Paperclip初始化器(/config/initializers/paperclip.rb)中使用:

Paperclip::Attachment.default_options.merge!(
    YOUR OPTIONS FOR S3 HERE
) 
Run Code Online (Sandbox Code Playgroud)