前提・実現したいこと
私はruby sinatraを最近になって勉強し始めた初心者です。
現在、教材学習の一環で画像アップロード機能を実装したことを機に自主作品としてruby sinatraでファイル共有サイトを構築しようとしています。
しかし、以下の内容について分かっておらず、実装に漕ぎ着けていません。
①実現可能性として初学者でも実装できるのか
②image_uploader機能の応用でも十分実装可能なのか
③ファイルアップロード機能を実装するにはどうすればいいのか
どうすればファイルアップロード機能を実装できるのか、もしよろしければ教えてください。
②に関する該当ソースコード
ruby
1def image_upload(img) 2 logger.info "upload now" 3 tempfile = img[:tempfile] 4 5 upload = Cloudinary::Uploader.upload(tempfile.path) 6 7 contents = User.last 8 9 contents.update_attribute(:img, upload['url']) 10end 11 12def image_upload_local(img) 13 if img 14 contents = Contribution.last 15 id = contents.id 16 logger.info img 17 ext = File.extname(img[:filename]) 18 img_name = "#{id}-bbs#{ext}" 19 p "="*20 20 logger.info ext 21 img_path = "/images/bbs/#{img_name}" 22 contents.update_attribute(:img, img_path) 23 24 save_path = File.join('public', 'images', 'bbs', img_name) 25 26 File.open(save_path, 'wb') do |f| 27 logger.info "Temp file: #{img[:tempfile]}" 28 f.write img[:tempfile].read 29 logger.info 'アップロード成功' 30 end 31 else 32 logger.info 'アップロード失敗' 33 end 34end
あなたの回答
tips
プレビュー