前提・実現したいこと
rubyにて
マイページ編集機能を実現したいです
発生している問題・エラーメッセージ
エラーは特に起こっているようなメッセージはありませんが、情報を入力してupdateを押すとマイページ編集画面から動かなくなってしまいます。 ターミナルには以下のような記述があります。 Started PATCH "/users/1" for ::1 at 2020-12-12 15:55:40 +0900
該当のソースコード
app/controllers/users_controller.rb
ruby
1class UsersController < ApplicationController 2 def show 3 user = User.find(params[:id]) 4 @nickname = user.nickname 5 @posts = user.posts 6 end 7 8 def edit 9 @user = User.find(params[:id]) 10 end 11 12 def update 13 @user = User.find(params[:id]) 14 if @user.update(user_params) 15 redirect_to root_path 16 else 17 render :edit 18 end 19 end 20 21 def user_params 22 params.require(:user).permit(:nickname, :email, :age, :occupation, :self_introduction) 23 end 24end
app/views/users/edit.html.erb
ruby
1<h2>アカウントの編集</h2> 2 <div class='account-page__inner--right user-form'> 3 <%= form_with model: @user, local: true do |f|%> 4 <div class='field'> 5 <div class='field-label'> 6 <%= f.label :nickname%> 7 </div> 8 <div class='field-input'> 9 <%= f.text_field :nickname, autofocus: true%> 10 </div> 11 </div> 12 <div class='field'> 13 <div class='field-label'> 14 <%= f.label :email%> 15 </div> 16 <div class='field-input'> 17 <%= f.email_field :email%> 18 </div> 19 </div> 20 <div class='field'> 21 <div class='field-label'> 22 <%= f.label :age%> 23 </div> 24 <div class='field-input'> 25 <%= f.text_field :age%> 26 </div> 27 </div> 28 <div class='field'> 29 <div class='field-label'> 30 <%= f.label :occupation%> 31 </div> 32 <div class='field-input'> 33 <%= f.text_field :occupation%> 34 </div> 35 </div> 36 <div class='field'> 37 <div class='field-label'> 38 <%= f.label :self_introduction%> 39 </div> 40 <div class='field-input'> 41 <%= f.text_area :self_introduction, rows: "5" %>拡大できるよ 42 </div> 43 </div> 44 <div class='actions'> 45 <%= f.submit "Update", class: 'btn'%> 46 </div> 47 <% end %> 48 </div>
config/routes.rb
ruby
1Rails.application.routes.draw do 2 devise_for :users 3 root to: "posts#index" 4 resources :posts do 5 resources :comments, only: :create 6 collection do 7 get 'search' 8 end 9 end 10 resources :users, only: [:show, :edit, :update] 11 resources :rooms, only: [:new, :create, :destroy] do 12 resources :messages, only: [:index, :create] 13 end 14end
足りないファイルがあればご指摘お願いします。
試したこと
binding.pryを用いて確認してみたところ、データ自体の受け渡しはできているようです。エラーの原因がよくわからないので、思いつく仮説があれば教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
rails 6.0.0
mac os 10.15.7
あなたの回答
tips
プレビュー