Railsで簡単なブログ投稿機能を持ったアプリケーションを作成しておりますが、ブログをdeleteしようとしてもdestroyアクションではなくshowアクションが作動してしまい、正常に動作しません。
こちらについて、解決策をお教え頂きたいです。
config/routes.rb
ruby
1Rails.application.routes.draw do 2 devise_for :users 3 4 root 'blogs#index' 5 get 'blogs' => 'blogs#index' 6 get 'blogs/new' => 'blogs#new' 7 post 'blogs' => 'blogs#create' 8 delete 'blogs/:id' => 'blogs#destroy' 9 patch 'blogs/:id' => 'blogs#update' 10 get 'blogs/:id/edit' => 'blogs#edit' 11 get 'blogs/:id' => 'blogs#show' 12end
app/controller/blogs_controller.rb
ruby
1class BlogsController < ApplicationController 2 3 before_action :move_to_index, except: [:index, :show] 4 5 def index 6 @blogs = Blog.order("created_at desc").page(params[:page]).per(5) 7 end 8 9 def new 10 @blog = Blog.new 11 end 12 13 def create 14 binding.pry 15 Blog.create(blog_params) 16 end 17 18 def destroy 19 blog = Blog.find(params[:id]) 20 blog.destroy 21 end 22 23 def edit 24 @blog = Blog.find(params[:id]) 25 end 26 27 def update 28 blog = Blog.find(params[:id]) 29 blog.update(blog_params) 30 logger.debug blog.errors.inspect 31 end 32 33 def show 34 @blog = Blog.find(params[:id]) 35 end 36 37 private 38 def blog_params 39 params.require(:blog).permit(:body) 40 end 41 42 def move_to_index 43 redirect_to action: :index unless user_signed_in? 44 end 45end
app/views/blogs/_blog.html.erb
html
1<div class="row post"> 2 <div class="col s12 m6"> 3 <div class="card"> 4 <div class="card-content"> 5 <%= simple_format(blog.body) %> 6 </div> 7 <div class="card-action white"> 8 <%= link_to 'SHOW', "/blogs/#{blog.id}", method: :get %> 9 <%= link_to 'EDIT', "/blogs/#{blog.id}/edit", method: :get %> 10 <%= link_to 'DESTROY', "/blogs/#{blog.id}", method: :delete %> 11 </div> 12 </div> 13 </div> 14</div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/31 09:00