[解決済み] プロジェクトでrailsのコントローラとモデルの名前を変更する方法
2023-01-30 17:11:56
質問
Railsアプリを立ち上げ、すべて順調に動作しています。しかし、現在、コントローラと関連するモデルの名前を変更したいと思っています。
を変更したいと思いました。
Corps
コントローラを
Stores
に変更し、モデルも同じように(最後のsを除いて)変更します。
googleで調べると、人々はコントローラとモデルを破棄して再度生成することを提案しました。問題は、各ファイルの実際のコードが消去されることです!
何か解決策があれば教えてください。よろしくお願いします。
どのように解決するのですか?
私ならこうします。
を作成します。 マイグレーション を使用して、テーブル名(データベースレベル)を変更します。あなたの古いテーブルの名前は 隊員 . 移行内容は、次のようになります。
class RenameCorpsToStores < ActiveRecord::Migration
def change
rename_table :corps, :stores
end
end
モデルファイル名、モデルクラスの定義、モデルの関連付けを変更します。
-
ファイル名を変更します。
corp.rb
->store.rb
-
のコード
store.rb
: 変更class Corp
に対してclass Store
-
すべてのモデルの関連付けを次のように変更します。
has_many :corps
->has_many :stores
コントローラファイル名とコントローラクラス定義を変更します。
-
ファイル名を変更します。
corps_controller.rb
->stores_controller.rb
-
のコード
stores_controller.rb
: 変更class CorpsController
に対してclass StoresController
ビューフォルダの名前を変更します。から
corps
から
stores
.
のパスで必要な変更を行います。
config/routes.rb
ファイルのパスを変更します。
resources :corps
->
resources :stores
そして、コード内のすべての参照が軍団から店舗に変わることを確認します (corps_path, ...)
マイグレーションを実行することを忘れないでください :)
前がダメなら、db/schema.rbを削除して実行してみてください。
$ rake db:drop db:create db:migrate
関連
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] Git のローカルブランチとリモートブランチの両方の名前を変更するにはどうすればよいですか?
-
[解決済み] Git リポジトリで、ディレクトリの名前を適切に変更するには?
-
[解決済み] Gitでファイルの移動/リネームを行い、その履歴を維持することは可能でしょうか?
-
[解決済み] Railsのアセットパイプラインでフォントを使用する
-
[解決済み】Xcodeプロジェクト(フォルダを含む)の名前を完全に変更するにはどうすればいいですか?)
-
[解決済み】RailsでActiveRecordモデルとそのテーブルの名前を変更するマイグレーションはどのように記述するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] AWS S3です。アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレスされている必要があります。
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み] railsでcheck_boxをcheckedにする方法は?
-
[解決済み] Rails 5: テーブル名の変更マイグレーション
-
[解決済み】RailsでActiveRecordモデルとそのテーブルの名前を変更するマイグレーションはどのように記述するのですか?