railsで下記の動作を書いているのですがNo such file or directoryとエラーが出てしまいます。
- twitter omniauthでtwitterログイン
- twitterから落としてきたicon画像をopenで開いてcarrierwave経由で保存
エラー内容
- No such file or directoryが出ているしかし、その後ろにあるファイル(http://pbs.twimg.com/profile_images〜)は開くとアイコンがある
ファイル自体はちゃんと取得できている気がするのですがなぜNo such file or directoryと出てしまうのかが分からず。。。usermodel全体は下記で書いています
class User < ApplicationRecord mount_uploader :image_url, ImageUploader #引数に関連するユーザーが存在すればそれを返し、存在しまければ新規に作成する def self.find_or_create_from_auth_hash(auth_hash) #OmniAuthで取得した各データを代入していく provider = auth_hash[:provider] uid = auth_hash[:uid] nickname = auth_hash[:info][:nickname] image_url = auth_hash[:info][:image] User.find_or_initialize_by(provider: provider, uid: uid) do |user| if user.new_record? user.nickname = nickname puts "image_url確認" puts image_url require 'open-uri' File.open(image_url) do |f| user.image_url = f end user.save end end end end
あなたの回答
tips
プレビュー