Rails 3.2を使用していて、スキャフォールディングから始めてそれから構築しましたが、スキャフォールド全体(モデル、ビュー、コントローラーdb:migrate
など)の名前を変更する必要があることに気付きました。これを行うための組み込みの方法はありますか、それとも手動で行う必要がありますか?
2 に答える
足場の一部であるかどうかにかかわらず、作成されたなどrails
の名前などの名前を変更するために提供されるものはないと思います。models/controllers/views/tests
手動で変更する必要があります。
始めたばかりの新しいアプリの場合は、ディレクトリ全体を削除するか、データベースを削除して、最初からやり直す方が簡単な場合があります。
そうでない場合は、スキャフォールド生成によって作成/変更されたファイルを調べて、手動で変更する必要があります。
関連するテーブルをdrop_and_recreateするか、移行を追加してテーブルの名前を変更してください。RailsでActiveRecordモデルとそのテーブルの名前を変更するための移行をどのように作成しますか?を参照してください。いくつかの関連するアドバイスのために。
スキャフォールドによって生成されたファイルの名前を変更するためのすぐに使える方法はないと思います。新しいスキャフォールドを作成し、コードを古いものから新しいものにコピーする必要があります。工場、モデル、コントローラー、およびそれぞれのスペックファイルからコンテンツをコピーします。新しい足場に。次に、コマンドを使用して古い足場を削除します
rspec d scaffold <Model Name>
その古いテーブルをデータベースから削除するには、新しい移行を作成する必要があります。次に、移行を実行します。