S3ツイートCarrierWaveでURLから画像を取得して、その画像をアップロードしてCarrierWaveで利用する方法をまとめました。0.10.0URLから画像を保存するメソッド例えばUserにprofile_imageというアップローダをマウントした場合、remote_profile_image_url=というメソッドが定義されます。remote_profile_image_url=メソッドで値を代入すると、代入されたURLから画像を取得し、アップローダで処理されます。S3にアップロードするfogなどを使っている場合は、S3に画像がアップロードされます。実際に使う場合は以下の様なコードになります。"https://graph.facebook.com/#{facebook_id}/picture?type=large"注意したいのは、指定したアドレスが直接profile_image_urlになるのではなく一度取得した上でアップローダにしたがって保存されます。今回の案件ではFacebookやTwitterのプロフィール画像を使いたいというストーリーで、Twitterなどはプロフィール画像を変えると元の画像にアクセスできなくなるので、一度サービス側で保存しておくことはベストプラクティスだと思います。ちなみに、Kernel#openとかを使ってURLから画像を取得して代入するメソッドを作ってみたのですが上手く行きませんでした。Overflowツイート筆者プロフィールみゆっきセキュリティ、ストリーミングなどに興味があるWeb兼なんでも屋さん。スーパークリエータとして認定されたり。LiveWedgeを開封してしばらく使ってみた2015/01/29プロ生を支える生放送配信機材たち。