前提・実現したいこと
ここに質問の内容を詳しく書いてください。
プロフィールを編集して、名前、所属、画像をアップデートできるようにしたいのですが、エラーが出てしまい困っています。
イメージ
名前所属画像を変更したら、アップデート後に/users/indexに飛ぶ
拙い質問で申し訳ございません。何卒よろしくお願いします。
発生している問題・エラーメッセージ
undefined method `name=' for nil:NilClass
該当のソースコード
Rails
1<div class="main users-edit"> 2 <div class="container"> 3 <div class="form-heading"> 4 プロフィール編集 5 </div> 6 <div class="form-body"> 7 <%= form_tag("/users/:id/update", {multipart: true}) do %> 8 <p>名前</p> 9 <input name="name" value="<%= @user.name %>"> 10 <p>所属パート</p> 11 <input name="part" value="<%= @user.part %>"> 12 <p>画像</p> 13 <input name="image" type="file"> 14 <input type="submit" value="保存"> 15 </div> 16 <% end %> 17 </div> 18</div>
def update @user = User.find_by(id: params[:id]) @user.name = params[:name] @user.part = params[:part] if params[:image] @user.image_name = "#{@user.id}.jpg" image = params[:image] File.binwrite("/public/user_images/#{@user.image_name}", image.read) end if @user.save flash[:notice]="プロフィールを変更しました" redirect_to("/users/#{@user.id}") else render("users/edit") end end
試したこと
エラーの出る、@user.name = params[:name]の部分を消したら一個下の@user.part = params[:part]でエラーが出ます。またこれも消したら@user.image_name = "#{@user.id}.jpg"で同じエラーが出ます。
https://teratail.com/questions/61224などを参考にしたところ、name,part,idを見つけれていないのかと思います。
補足情報(FW/ツールのバージョンなど)
Progateを参考に進めています
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/22 06:26
2019/10/22 08:09
2019/10/22 09:34