web-dev-qa-db-ja.com

Railsで足場を元に戻る

Railsでscaffoldコマンドの効果を「元に戻す」方法はありますか?

481
Daniel

Firstscaffoldコマンドによって生成されたマイグレーションを既に実行している場合は、最初にロールバックを実行する必要があります。

rake db:rollback

足場は、次の方法で作成できます。

Rails generate scaffold MyFoo 

(または似たような)、そしてあなたは破壊する/元に戻すことができますそれを使って

Rails destroy scaffold MyFoo

これはgenerateによって作成されたすべてのファイルを削除しますが、手動で行った追加の変更はありません。

757
Rishav Rastogi

Rishav Rastogiは正しいです。Rails3.0以上では、

レールは足場を生成します... 
レールは足場を破壊します... 
167

あなたがしたことは何でも元に戻すことができます

Rails generate xxx

によって

Rails destroy xxx

例えば、これはマイグレーション、足場、モデルなどにジェネレータを適用します。

40
thekindofme

ジェネレータが作成するファイルを見たいだけなら、generator --pretendまたは-pオプションを渡します。

13
Sudhanshu Arya

最善の方法は次のとおりです。

destroy rake db:  rake db:rollback

足場の場合:

Rails destroy scaffold Name_of_script
10
user917158

スキャフォールドを生成した場合は、初めてデータベースの移行を確認できます。データベースをクリーンアップするためにそれらを破壊しなければなりません

rake db:rollback

それから

Rails d scaffold
8
dedennufan
Rails d scaffold <scaffoldname>

また、ロールバックまたは特定のバージョンへの移行を元に戻してください。

8
RageCore

レールが名前を破壊する

rake db:rollback
4
starbuck

足場を生成するには:

Rails generate scaffold xyz

足場を元に戻すには:

Rails destroy scaffold xyz
4
uma

Railsで足場を生成するために -

Rails generate scaffold MODEL_GOES_HERE

Railsの元に戻すための足場 -

Rails destroy scaffold MODEL_GOES_HERE
3
Amit Suroliya

ロールバックを推奨するまず、あなたのターミナルに入力します。

rake db:rollback

破壊足場を追加します( 'd'は 'destroy'を表します)

Rails d scaffold name_of_scaffold

あなたのコードを楽しんでください。

2

足場も破壊した後もマイグレーションをロールバックする必要があります

Rails destroy scaffold 'scaffoldname'
rake db:rollback
2
Bhargav Mehta

だから、あなたがRails 4で足場を元に戻すためにあなたが従うべきプロセス。

  1. Rails d scaffold FooBar
  2. 上記のスキャフォールドを作成した後にyou_had_run_rake db:rollbackの場合rake db:migrate

それでおしまい!

乾杯!

2

Rails [オプション]足場足場名

オプション

g    generate
d    destroy

もしあなたがそうするなら

Rails g  scaffold myFoo

それからそれを使用してそれを元に戻す

Rails d scaffold MyFoo
1
krishnar

はい、scaffold自体とそれを統合するすべてのものです。

destroyコマンドはgenerateの逆であり、元に戻します。 generateと同じ方法で名前を渡すだけで、プロジェクトから削除されます。

Rails generate scaffold posts title:string content:text
Rails destroy scaffold posts title:string content:text
1

最初にrake dbを実行してマイグレーションをロールバックする必要があります。

Rails d scaffold foo
1
Manish

まずテーブルを破壊するためにrake db:rollbackをする必要があります
既に実行している場合rake db:migrateそして実行することができます

Rails d scaffold Model

1
Shoaib Malik

gitに基づいて他のソリューションを提供する

新しいプロジェクトを始める

Rails new project_name
cd project_name

gitを初期化する

git init
git commit -m "initial commit"

足場を作成する

Rails g scaffold MyScaffold
rake db:migrate

足場をロールバックする

rake db:rollback
git reset --hard
git clean -f -d
1
Ray Lee

これを使って

Rails d scaffold MODEL_NAME

rake db:rollback
1
vipin

足場を生成するには:

Rails generate scaffold abc

この足場を元に戻すには:

Rails destroy scaffold abc

ロールバックを実行した場合

rake db:rollback STEP=1
1
nitanshu verma
Rails g scaffold MyFoo 

生成するための

Rails d scaffold MyFoo

取除くため

0

Rails gを実行するときはいつでも、生成したものを削除するためにRails d(destroy)を実行することでそれを元に戻すことができます。既にrake db:migrateを実行している場合は、破棄する前にrake db:rollbackを実行する必要があります。

0
Maddie

ケース1 :スキャフォールドを生成するためにこのコマンドだけを実行した場合 -

Rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE

Ex - Rails generate scaffold User name:string address:text

しかし今までは、移行用のコマンドを実行していませんでした。

rake db:migrate

その後、あなただけのようにこのコマンドを実行する必要があります -

Rails destroy scaffold User name:string address:text

ケース2 :すでに(足場と移行)を次のようなコマンドで実行している場合 -

Rails generate scaffold User name:string address:text

rake db:migrate 

その後、最初のrollback migrationコマンドを実行してから、以下のようにscaffoldを破棄する必要があります -

rake db:rollback

Rails destroy scaffold User name:string address:text

したがって、このようにして、足場を元に戻すことができます。また、destroyにはdgenerateにはgをショートカットとして使用できます。

0
Manoj Kumar

足場を生成すると、次のファイルが作成されます。

コマンド:Rails generate scaffold Game

作成されたファイル

>       invoke  active_record
>       create    db/migrate/20160905064128_create_games.rb
>       create    app/models/game.rb
>       invoke    test_unit
>       create      test/models/game_test.rb
>       create      test/fixtures/games.yml
>       invoke  resource_route
>        route    resources :games
>       invoke  inherited_resources_controller
>       create    app/controllers/games_controller.rb
>       invoke    erb
>       create      app/views/games
>       create      app/views/games/index.html.erb
>       create      app/views/games/edit.html.erb
>       create      app/views/games/show.html.erb
>       create      app/views/games/new.html.erb
>       create      app/views/games/_form.html.erb
>       invoke    test_unit
>       create      test/controllers/games_controller_test.rb
>       invoke    helper
>       create      app/helpers/games_helper.rb
>       invoke      test_unit
>       create        test/helpers/games_helper_test.rb
>       invoke    jbuilder
>       create      app/views/games/index.json.jbuilder
>       create      app/views/games/show.json.jbuilder
>       invoke  assets
>       invoke    coffee
>       create      app/assets/javascripts/games.js.coffee
>       invoke    scss
>       create      app/assets/stylesheets/games.css.scss
>       invoke  scss
>       create    app/assets/stylesheets/scaffolds.css.scss

この後に移行を実行した場合、scaffoldを削除すると移行ファイルも削除され、その移行を元に戻すことができなくなるため、最初に移行をロールバックする必要があります。

移行を実行したとします。

rake db:rollback

そしてその後、このコマンドで足場を安全に取り外すことができます。

Rails d scaffold Game

このコマンドは、プロジェクトの足場によって作成されたすべてのファイルを削除します。

0
BIlal Khan