bari2525
@bari2525

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Rubu on RailsのDESTROY機能について

解決したいこと

Railsで基本的なCRAD処理ができるwebアプリを作成中に、destroyを正しく動作させたい。

該当するソースコード

routes
Rails.application.routes.draw do
  root to: 'homes#top'
  resources :blogs, only: [:new, :index, :show, :edit, :create, :edit, :update, :destroy]
end
controller(deatroyの部分)
 def destroy
    @blog = Blog.find(params[:id])
    @blog.destroy
    redirect_to 'blogs_path'
 end
destroyのリンクを作成しているプログラム
 <%= link_to 'Delete', blog_path(@blog), method: :delete, data: {"confirm": "本当に削除しますか?"} %>

自分で試したこと

ルートの記述をdelete 'blog/:id' => 'blog#destroy', as: 'destroy_blog'を試したところ、deleteでなくgetになってしまう。

resources使用時のrails routesの結果

blog GET /blogs/:id(.:format)    blogs#show
   PATCH /blogs/:id(.:format)     blogs#update
   PUT /blogs/:id(.:format)      blogs#update
   DELETE /blogs/:id(.:format)    blogs#destroy

destroyのリンクをクリックしたところ、エラーは発生しないがログではdeleteでなくgetになっている

###環境
vscode
windows11
rails7.1.2
ruby3.2.2

0

1Answer

deleteでなくgetになってしまう。

rails7.1.2 上記、原因を参照のこと

個人的にはrailsフレームワークが手に負えなくなるほど高度化してるようにおもえます。pythonで例えるとdjangoが手に負えなくなり、flaskが登場したように、rubyもrails一択ではないのでは?

1Like

Your answer might help someone💌