サイトアイコン Lonely Mobiler

Rails 4 で作成したアプリの名称を変更する

rails でアプリ作ってて model を生成しようとしたら以下のエラーが出た。

$ rails generate model Hoge status:integer name:string ... invoke active_record The name 'Hoge' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.

どうやらアプリ名と同じ名前の model は作れないらしい。

アプリ名は結構どうでもよかったのでアプリ名を変更する事にした。

Rails 4 アプリの名称を変更する方法

Rails 4.1 からはファイルを2つ書き換えるのみで変更が可能になるようだ。4.0 以下は rename gem を利用しなければいけないらしい。

How to rename rails 4 app? - Stack Overflow

Rails 4.1 では以下の二箇所を変更する。

config/application.rb

Bundler.require(*Rails.groups)

module Hoge # ここを変更する class Application < Rails::Application

config/initializers/session_store.rb

Rails.application.config.session_store :cookie_store, key: '_hoge_session' # アプリ名の部分を変更する

これだけでいけるっぽい。実際動いており、model もちゃんと生成されたので大丈夫だろう。

4.0 以下では rename gem を利用して

rails g rename:app_to New-Name

というようにするらしいが現在利用中のバージョンではないので動作確認はしてない。

Sponsored Link
モバイルバージョンを終了