作成したすべてのファイルを削除し、加えられた変更をロールバックしますが、必ずしもデータベースではなく、構成ファイルにさらにロールバックしたいと考えています。
routes.rb ファイルで削除されたモデル/コントローラーのすべてのリソース マッピングと、変更が行われた可能性のある他のすべての場所を自動的に削除したいと思いますか?
作成したすべてのファイルを削除し、加えられた変更をロールバックしますが、必ずしもデータベースではなく、構成ファイルにさらにロールバックしたいと考えています。
routes.rb ファイルで削除されたモデル/コントローラーのすべてのリソース マッピングと、変更が行われた可能性のある他のすべての場所を自動的に削除したいと思いますか?
rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho
Rails 3.2 ではd
コマンドに新しいショートカットが追加されたため、次のように記述できるようになりました。
rails d controller lalala
rails d model yadayada
rails d scaffold hohoho
ここでフラグに言及する価値があり-p
ます ("p" は "ふり" を表します)。
これをコマンドに追加すると、単純に「テスト」実行が行われ、実際にファイルを削除することなく、どのファイルが削除されるかが表示されます。
$ rails d controller welcome -p
remove app/controllers/welcome_controller.rb
invoke erb
remove app/views/welcome
invoke test_unit
remove test/controllers/welcome_controller_test.rb
invoke helper
remove app/helpers/welcome_helper.rb
invoke test_unit
remove test/helpers/welcome_helper_test.rb
invoke assets
invoke coffee
remove app/assets/javascripts/welcome.js.coffee
invoke scss
remove app/assets/stylesheets/welcome.css.scss
問題がなければ、-p
フラグを指定せずにコマンドを再度実行してください。
rails destroy controller Controller_name
たくさんのエラーを返していました。コントローラを破棄できるようにするには、routes.rb内の関連するルートを削除する必要がありました。PS私はレール3.1を使用しています
これは、Rails でコントローラーまたはモデルを生成または破棄するためのプロトタイプです。
rails generate/destroy controller/model [controller/model Name]
たとえば、ユーザー コントローラーを生成する必要がある場合は、次のようにします。
rails generate controller User
また
rails g controller User
ユーザーコントローラーを破棄するか、上記のアクションに戻したい場合は、次を使用します。
rails destroy controller User
また:
rails d controller User
rails d model/controller/migration ...
コマンドを使用して生成された変更を破棄または削除するために使用できますrails generate
。
例えば:
rails g model Home name:string
home
attributeという名前のモデルを作成しますname
。そのコマンドから生成されたファイルとコードを削除するには、使用できます
rails d model Home
Rails を使用する場合は、 を使用しますrails d controller Users
。
また、Zeus を使用する場合は、 を使用しますzeus d controller Users
。
一方、git または SVN を使用している場合は、コミット番号で変更を元に戻します。これははるかに高速です。
コントローラーを手動で削除する場合:
コントローラー用welcome
rm app/controllers/welcome_controller.rb
rm app/views/welcome
rm test/controllers/welcome_controller_test.rb
rm app/helpers/welcome_helper.rb
rm test/helpers/welcome_helper_test.rb
rm app/assets/javascripts/welcome.js.coffee
rm app/assets/stylesheets/welcome.css.scss
次のような「sample」という名前のコントローラーを作成したとします。
rails generate controller sample
このコントローラーを破棄する必要がある場合は、次のように と交換するだけgenerate
ですdestroy
。
rails destroy controller sample.
世代を逆にしたい場合は、 でスワップ generate
するだけdestroy
です。
それを逆にするために、それを破壊するだけです。ターミナル アプリケーションを開き、プロジェクト ディレクトリに移動して、次のように入力します。
rails destroy model CamelCase
rails destroy controller CamelCase
CamelCase
モデルまたはコントローラーの名前はどこにありますか。モデル、移行、および関連するテスト ファイルの一部が削除されます。(コマンドを実行した後、ターミナル ウィンドウで結果を確認できます。)