502

作成したすべてのファイルを削除し、加えられた変更をロールバックしますが、必ずしもデータベースではなく、構成ファイルにさらにロールバックしたいと考えています。

routes.rb ファイルで削除されたモデル/コントローラーのすべてのリソース マッピングと、変更が行われた可能性のある他のすべての場所を自動的に削除したいと思いますか?

4

17 に答える 17

974
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
于 2010-11-12T03:29:22.267 に答える
52

ここでフラグに言及する価値があり-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フラグを指定せずにコマンドを再度実行してください。

于 2014-12-12T09:44:57.623 に答える
24

rails destroy controller Controller_nameたくさんのエラーを返していました。コントローラを破棄できるようにするには、routes.rb内の関連するルートを削除する必要がありました。PS私はレール3.1を使用しています

于 2011-11-18T15:59:20.897 に答える
12

これは、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

ここに画像の説明を入力

于 2014-02-14T10:11:35.647 に答える
6

rails d model/controller/migration ...コマンドを使用して生成された変更を破棄または削除するために使用できますrails generate

例えば:

rails g model Home name:string

homeattributeという名前のモデルを作成しますname。そのコマンドから生成されたファイルとコードを削除するには、使用できます

rails d model Home
于 2013-06-07T14:57:49.983 に答える
4

Rails を使用する場合は、 を使用しますrails d controller Users

また、Zeus を使用する場合は、 を使用しますzeus d controller Users

一方、git または SVN を使用している場合は、コミット番号で変更を元に戻します。これははるかに高速です。

于 2014-07-28T10:25:13.470 に答える
3

コントローラーを手動で削除する場合:

コントローラー用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
于 2015-10-01T19:40:29.850 に答える
3

次のような「sample」という名前のコントローラーを作成したとします。

rails generate controller sample

このコントローラーを破棄する必要がある場合は、次のように と交換するだけgenerateですdestroy

rails destroy controller sample.

世代を逆にしたい場合は、 でスワップ generateするだけdestroyです。

于 2017-12-22T05:10:22.473 に答える
1

それを逆にするために、それを破壊するだけです。ターミナル アプリケーションを開き、プロジェクト ディレクトリに移動して、次のように入力します。

rails destroy model CamelCase
rails destroy controller CamelCase

CamelCaseモデルまたはコントローラーの名前はどこにありますか。モデル、移行、および関連するテスト ファイルの一部が削除されます。(コマンドを実行した後、ターミナル ウィンドウで結果を確認できます。)

于 2015-08-02T01:55:58.680 に答える