前提・実現したいこと
プログラミング初心者です。練習としてTwitterのようなアプリを作っているのですが、投稿した内容を編集するの画面を作ったのですが、その画面を編集しようとするとエラーが出てしまいます。
発生している問題・エラーメッセージ
No route matches [PATCH] "/posts/3"
該当のソースコード
#posts_controller.rb def edit @post = Post.find_by(id:params[:id]) end def update @post = Post.find_by(id: params[:id]) @post.content = params[:content] @post.object = params[:object] if @post.save flash[:notice]="投稿を編集しました" redirect_to("/posts/index") else render("posts/edit") end end def destroy @post = Post.find_by(id:params[:id]) @post.destroy flash[:notice]="投稿を削除しました" redirect_to("/posts/index") end
Rails.application.routes.draw do post "likes/:post_id/create" => "likes#create" post "likes/:post_id/destroy" => "likes#destroy" get "login" => "users#login_form" post "login" => "users#login" post "logout" => "users#logout" post "users/create" => "users#create" get "signup" => "users#new" get 'users/index' get "users/:id" => "users#show" get "users/:id/edit" => "users#edit" post "users/:id/update" => "users#update" get "users/:id/likes" => "users#likes" get 'posts/index' => "posts#index" get "posts/new" => "posts#new" get "posts/:id" => "posts#show" post "posts/create" => "posts#create" get "posts/:id/edit" => "posts#edit" post "posts/:id/update" => "posts#update" post "posts/:id/destroy" => "posts#destroy" get '/' => "home#top" get "about" => "home#about" resources :users, except: :destroy resources :posts, only: [:index, :show, :create] do resources :comments, only: [:create] end end
#edit.html.erb <div class="main posts-new"> <div class="container"> <h1 class="form-heading">編集する</h1> <%= form_with model: @post, local: true do |f| %> <div class="form"> <div class="form-body"> <% @post.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <%= f.label "なまえ" %><br> <%= f.text_field :object,:placeholder => "名前" %> <%= f.label "ポイント" %><br> <%= f.text_area :content %> <%= f.label "画像をアップロード" %><br> <%= f.file_field :image %> <%= f.submit "投稿" %> </div> </div> <% end %> </div> </div>
試したこと
updateアクションを色々と変えてみたのですが上手く行かなかったので質問させていただきました。
回答いただければ幸いです…!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 11:55