前提・実現したいこと
プログラミングの練習としてTwitterのようなサービスを作っているのですが、ユーザー情報の変更でプロフィール画像を変更しようとするとエラーが発生してしまいます。
発生している問題・エラーメッセージ
undefined method `image_will_change!' for #User:0x007f1de02e7110 Did you mean? email_will_change! name_will_change! image_name_will_change! image_cache image_name image_cache= image image_name_change
if @user.update(user_params) @user.save flash[:notice] = "ユーザー情報を編集しました" redirect_to("/users/#{@user.id}")
該当のソースコード
#users_controller def edit @user = User.find_by(id: params[:id]) end def update @user = User.find_by(id: params[:id]) if @user.update(user_params) @user.save flash[:notice] = "ユーザー情報を編集しました" redirect_to("/users/#{@user.id}") else render("users/edit") end end private def user_params params.require(:user).permit(:name, :email, :password, :password_confirmation, :image) end
#edit.html.erb <div class="main users-edit"> <div class="container"> <div class="form-heading">ユーザー情報の編集</div> <div class="form users-form"> <div class="form-body"> <% @user.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <%= form_with model: @user, local: true do |f| %> <div class="form-group"> <%= f.label :name, '名前' %> <%= f.text_field :name, class: 'form-control' %> </div> <div class="form-group"> <%= f.label :email, 'メールアドレス' %> <%= f.email_field :email, class: 'form-control' %> </div> <div class="form-group"> <%= f.label :profile, "プロフィール"%> <%= f.text_area :profile, class: "form-control" %> </div> <%= f.file_field :image %> <%= f.submit '編集', class: 'btn btn-primary' %> <% end %> </div> </div> </div> </div>
試したこと
CarrierWaveに問題がありそうで色々と調べたのですが解決することができませんでした…
回答いただけると幸いです…!!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。