使用Heroku、CKEditor gem、Paperclip和Amazon S3将内容从暂存站点部署到生产站点



我有一个使用ckeditor的rails站点,因此用户可以在站点上构建页面。通常,他们在临时站点上开发页面,并将更改推送到生产服务器。在用户在私有服务器上托管站点和任何图像之前,ckeditor为图像使用相对路径。例如,在ckeditor的content字段中创建资产:

img src="/uploads/images/mypic.jpeg"

然而,我们现在正在过渡到Heroku,我们正在使用Amazon S3来托管文件。因此,ckeditor必须使用绝对路径。例如:

img src="http://mybucket_staging.s3.amazonaws.com/uploads/images/mypic.jpeg"

这使得从登台到生产的部署出现问题,因为即使正确的图片在生产桶中,当数据库被推送到生产时,ckeditor资产的内容字段仍然指向登台桶。有什么办法能让它更有活力吗?

使用一个配置变量(在生产环境和登台环境中设置的变量不同)并从该变量的值填充路径如何?

最新更新