やりたいこと
progateで習った通りに、ユーザーの初期画像を "default_user.jpg"で設定し、その後ユーザーがプロフィール画像を設定した場合にユーザーのプロフィール画像を任意の画像で設定することはできたのですが、
ユーザーが2回目に画像を変更した際に画像の変更を更新することができません。
つまり、今現在ユーザーのプロフィール画像が一回しか設定することができなくて困っています。
対象のコード
<%= form_tag("/users/#{@user.id}/update", {multipart: true}) do %> <label> <p>写真を設定する</p> <input name="image" type="file"> <i class="fas fa-camera"></i> </label> <% end %>
ユーザーが任意の画像をアップロードしそのデータを{multipart: true}で "/users/#{@user.id}/update"に送ります
def update if params[:image] @user.image_name = "#{@user.id}.jpg" image = params[:image] File.binwrite("public/user_images/#{@user.image_name}", image.read) end end
そしてこのように任意の画像に対して名前付けして保存するのですが2回目以降画像を更新できなくて困っています。
どうかお力をお貸しください!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/23 14:11