前提・実現したいこと
初めての質問をさせていてだきます。
質問の仕方などに問題があればご指摘ください。
今困っていることは、user管理機能の作成中でuserの編集機能を実装しているところです。
そしてuserの編集を行い更新できたらトップページに遷移する流れをやりたいのですが、上手く行きません。
発生している問題・エラーメッセージ
更新ボタンを押しても更新がされないままトップページに戻ってきてしまう。
編集に失敗した時はrenderでedit画面に留まる流れは機能しています。
エラーメッセージ ```エラーメッセージは表示されません。 ### 該当のソースコード ```ruby users_controller.rb def edit end def update if current_user.update(user_params) redirect_to root_path else render :edit end end private def user_params params.require(:user).permit(:company, :email) end end ```ruby ```ruby edit.html.erb <div class='account-page' id='account-page'> <div class='account-page__inner clearfix'> <div class='account-page__inner--left account-page__header'> <h2>UPDATE</h2> <h5>アカウントの編集</h5> <%= link_to "ログアウト", destroy_user_session_path, method: :delete, class: 'btn'%> <%= link_to "HOME", :back, class: 'btn'%> </div> <div class='account-page__inner--right user-form'> <%= form_with model: current_user, local: true do |f|%> <div class='field'> <div class='field-label'> <%= f.label :company %> </div> <div class='field-input'> <%= f.text_field :company, autofocus: true%> </div> </div> <div class='field'> <div class='field-label'> <%= f.label :email%> </div> <div class='field-input'> <%= f.email_field :email%> </div> </div> <div class='actions'> <%= f.submit "GO", class: 'btn'%> </div> <% end %> </div> </div> </div> ```ruby ```routes.rb Rails.application.routes.draw do devise_for :users get 'works/index' root to: "works#index" resources :users, only: [:edit, :update] resources :works, omly: [:index] end ```ruby ```user.rb class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable validates :company, presence: true PASSWORD_REGEX = /\A(?=.*?[a-z])(?=.*?\d)[a-z\d]+\z/i.freeze validates_format_of :password, with: PASSWORD_REGEX, message: 'が無効です。文字と数字を含めてください。' end
試したこと
binding.pryでデバックしたところ
<ActionController::Parameters {"_method"=>"patch", "authenticity_token"=>"zNdmJpY9q6MJ10TKeJ7bM4SVrE0csMcj5k4fzd2kJGuCoWCHPth+R7/cjR+RQ+AfAhZmD34mU+up3bcw8h51aQ==", "user"=>{"company"=>"ooofff", "email"=>"ccc@cccc"}, "commit"=>"GO", "controller"=>"users", "action"=>"update", "id"=>"2"} permitted: false>
となりました。
補足情報(FW/ツールのバージョンなど)
ruby '2.6.5'
rails 6.0.0
回答1件
あなたの回答
tips
プレビュー