前提・実現したいこと
ユーザの登録情報を編集画面からアップデートさせたいです。
発生している問題・エラーメッセージ
end_userをデバイスで作成していて、それについてのupdateです。
form_forを使って、実装したのですがsubmitボタンを押しても正しいURL(/end_user/1)にならず(/end_user.1)となりルーティングエラーが出てしまいます。
Routing Error No route matches [PATCH] "/end_user.1"
該当のソースコード
routes
1 scope module: :public do 2 resources :end_users, only: [:edit, :update] 3 end
controller
1 def edit 2 @user = EndUser.find(params[:id]) 3 end 4 5 def update 6 @user = EndUser.find(params[:id]) 7 if @user.update(end_user_params) 8 redirect_to root_path 9 else 10 render :edit 11 end 12 end
html
1<%= form_for(@user) do |f| %> 2 # 省略 3 <div class="actions"> 4 <%= f.submit "編集内容を保存する",class:"sign_in-submit" %> 5 </div> 6<% end %>
試したこと
form_withなどを使って書き換えて見ましたが、うまくいきません。
補足情報(FW/ツールのバージョンなど)
railsroutes
1edit_end_user GET /end_users/:id/edit(.:format) public/end_users#edit 2 PATCH /end_users/:id(.:format) public/end_users#update 3 PUT /end_users/:id(.:format) public/end_users#update 4
あなたの回答
tips
プレビュー