How to rename rails 4 app?

Add

gem 'rename' to Gemfile

then

bundle install

After that

rails g rename:app_to name_of_app

And if you are using mongoid then you need to rename the database name in config/mongoid.yml


There are two ways:

1 . Manually (For Rails 4.1.x)

You need to manually find the references to the application name. And you need to change them manually. Here is some common places where it is used:

config/application.rb
config/environment.rb
config/environments/development.rb
config/environments/production.rb
config/environments/test.rb
config/initializers/secret_token.rb
config/initializers/session_store.rb
config/routes.rb
config.ru
    app/views/layouts/application.html.erb
Rakefile

2 . Automatic (For Rails 3 and 4.0.X)

Or you can use the rename gem and execute the following command:

rails g rename:app_to New-Name

Since rails 4.1.x, if you want to rename your application, the only two files you need to modify are config/application.rb:

require File.expand_path('../boot', __FILE__)

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module YourApplicationName # <-- rename it here
   class Application < Rails::Application
     ...
   end
end

and config/initializers/session_store.rb (optional):

# Be sure to restart your server when you modify this file.

Rails.application.config.session_store :cookie_store, key: '_your_application_name_session' # <-- rename the key

For Rails 4.0.x you can use the rename gem and execute the following command:

rails g rename:app_to New-Name

This will update the necessary files for you:

old/ (master)  › rails g rename:app_to new
Search and replace module in to...
    gsub  config.ru
    gsub  Gemfile
    gsub  Gemfile.lock
    gsub  Rakefile
    gsub  README.md
    gsub  config/application.rb
    gsub  config/boot.rb
    gsub  config/environment.rb
    gsub  config/environments/development.rb
    gsub  config/environments/production.rb
    gsub  config/environments/test.rb
    gsub  config/initializers/backtrace_silencers.rb
    gsub  config/initializers/filter_parameter_logging.rb
    gsub  config/initializers/inflections.rb
    gsub  config/initializers/load_class_extensions.rb
    gsub  config/initializers/mime_types.rb
    gsub  config/initializers/secret_token.rb
    gsub  config/initializers/session_store.rb
    gsub  config/initializers/update.rb
    gsub  config/initializers/wrap_parameters.rb
    gsub  config/routes.rb
    gsub  config/initializers/session_store.rb
Renaming references...
Renaming directory...Done!
New application path is '/Users/username/code/new'