S3で静的ファイルを実行しようとしていて、すべて正常に機能します。ファイルは問題なく利用、レンダリング、アップロードされます。しかし、ckeditorを介してブログにプッシュされたものはすべて、アマゾンのホストを指しているのではなく、アプリケーションのURLを指しています。Rails + Carrierwave + Ckeditor + Fog + S3 - ファイルがアマゾンを指していない
この構成
設定/イニシャライザ/ fog.rb
CarrierWave.configure do |config|
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.storage = :fog
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: Rails.application.secrets.app_s3_username,
aws_secret_access_key: Rails.application.secrets.app_s3_password,
region: Rails.application.secrets.app_s3_region
}
config.fog_directory = Rails.application.secrets.app_s3_bucket
config.fog_public = false
config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" }
end
モデル/ CKEditorバージョン/ picture.rb
class Ckeditor::Picture < Ckeditor::Asset
mount_uploader :data, CkeditorPictureUploader, :mount_on => :data_file_name
def url_content
url(:content)
end
end
アップローダ/ ckeditor_picture_uploader.rb
# encoding: utf-8
class CkeditorPictureUploader < CarrierWave::Uploader::Base
include Ckeditor::Backend::CarrierWave
# Include RMagick or ImageScience support:
# include CarrierWave::RMagick
include CarrierWave::MiniMagick
# include CarrierWave::ImageScience
# Choose what kind of storage to use for this uploader:
storage :fog
.
.
.
であります
のインストール宝石
* carrierwave (0.11.2)
* ckeditor (4.1.6)
* fog (1.37.0)
とにかく他のアップローダ画像のURLはCKEditorバージョン画像 http://example.com/uploads/の https://bucket.s3-eu-west-1.amazonaws.com/uploads/ ... URLです...
任意の提案やヘルプは、私が試したとして感謝し、検索されるだろうインターネットと同様の問題を抱えている人を見つけることができませんでした。公共/非公開の画像に問題があると言われましたが、URLが正しくないため、私の問題ではありません
にバケットポリシーを編集していなかったので、私はもともと私のファイルは、設定/初期化子にあったが、それはfog.rb.と呼ばれていたコンフィギュレーションを公開してとにかく私はそれを改名し、再開しました(前に何度も)と同じ結果。画像のURLはまだamazon s3ではなくapp hostを指しています – mcblady