Rails6でscaffoldを削除する方法【db:rollbackも解説】
Rails6でscaffoldによって作成されたファイルやルーティングを削除する方法を解説します。rails destroy scaffoldの使い方、db:rollbackによるマイグレーションの取り消し、削除時の注意点やscaffoldをやり直す手順までサンプル付きでわかりやすく紹介します。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- Ruby 2.7.2
- Rails 6.1.1
- rbenv 1.1.2-40-g62d7798
削除
ModelやControllerと同じように「destroy」で削除することが可能です。
rails destroy scaffold 名前ちなみに「model」は以下、
rails destroy model 名前「Controller」も以下で削除することが可能です。
rails destroy controller 名前
マイグレーション実行済みの場合
すでにrails db:migrateを実行している場合は、先にロールバックを行います。
rails db:rollbackロールバック後にscaffoldを削除してください。
rails destroy scaffold Post実行順序に注意する
必ず以下の順番で実行しましょう。
- rails db:rollback
- rails destroy scaffold モデル名
先にdestroyを実行すると、マイグレーションファイルが削除され、rollbackできなくなる場合があります。
scaffoldを作り直す場合
削除後は、正しい内容で再度scaffoldを作成できます。
rails generate scaffold Post title:string body:text
rails db:migrate手動で編集したファイルは削除されない
rails destroy scaffoldはgenerateで作成されたファイルのみを削除します。
後から手動で追加・修正したコードについては、自動では元に戻らないため注意してください。
参考リンク
-
前の記事
javascript parentElementで親要素を取得する 2021.01.24
-
次の記事
Ruby 配列をコピーする 2021.01.24
コメントを書く