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
というようにするらしいが現在利用中のバージョンではないので動作確認はしてない。
コメント