1

2 つの ActiveRecord モデルがあり、どちらも同じ Carrierwave Uploader を使用しています

Template < ActiveRecord:Base 
 mount_uploader :icon_image, ImageUploader
end

Profile < ActiveRecord:Base 
 mount_uploader :icon_image, ImageUploader
end

画像は Amazon S3 バケットにリモートで保存され、テンプレートを保存すると保存されます。問題はありません。

テンプレートからクローンを作成して、新しい Profile オブジェクトを作成しています。また、テンプレートと共に保存されたリモート アイコンのクローンまたはコピーを作成し、関連するプロファイルのために S3 にもリモートで保存したいと思います。

注 'これは元のテンプレートの URL への参照ではなく、コピーであるべきだと思います

私のコントローラーでは、ビューで編集してから保存する前に、オブジェクトのクローンを作成します。私は動作しない次のことを試しました

profile.remote_icon_image_url = template.icon_image_url

私はまた、次のようないくつかのバリエーションを試しました

profile.icon_image = template.icon_image

誰でも解決策を手伝ってもらえますか?

4

1 に答える 1

0

この同じ問題に数時間ぶつかった後、実際の解決策ではないにしても、回避策を見つけました。

この問題は、HTTPS 経由でイメージをダウンロードしようとしているようです。したがって、ブルート フォース ソリューションは、ターゲット URL を HTTP に変換することです。

new_page.remote_header_image_url = self.header_image.url.gsub(/^https/i, 'http')
于 2012-11-29T23:03:25.550 に答える