How to rename rails 4 app?

Ruby on-Rails-3Ruby on-Rails-4

Ruby on-Rails-3 Problem Overview


rails plugin install git://github.com/get/Rename.git will allow us to rename only rails 3 app

Is there any gem available to rename Rails 4 app.

If not, suggest me the better way to rename.

Ruby on-Rails-3 Solutions


Solution 1 - Ruby on-Rails-3

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'

Solution 2 - Ruby on-Rails-3

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

Solution 3 - Ruby on-Rails-3

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

Solution 4 - Ruby on-Rails-3

For Rails 5

Require

  • config/application.rb change the module name

Optional

  • config/initializers/session_store.rb (in Rails.application.config.session_store) change the session name
  • app/views/layouts/application.html.erb You can change the <title>...</title>, if it is not already done

Solution 5 - Ruby on-Rails-3

I just used this rename gem in a basic rails 4 app:

https://github.com/morshedalam/rename

This is quite a bit different to get's version.


Easy enough to use:

Add this to Gemfile:

gem 'rename'

And run:

rails g rename:app_to NewName

Seemed to the trick,
It also updated my rubymine .idea project settings :)

Solution 6 - Ruby on-Rails-3

In Rails 4.2 just change in application config file

config/application.rb

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

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

then restart your server.

That's it!

Solution 7 - Ruby on-Rails-3

For rails 5.2

Add gem 'rename' to the gemfile

bundle install

rails g rename:into your_new_app_name

Solution 8 - Ruby on-Rails-3

Here is a gem specifically for Rails 4 https://github.com/negativetwelve/rails-rename (I haven't used it but it seems fine)

The other gems listed here only target Rails 3

Solution 9 - Ruby on-Rails-3

In Rails 5.x, doing it manually

using ag (https://github.com/ggreer/the_silver_searcher), there are files that use the default folder name (if generated via rails new .)

three basic files, relative to root of project, need to be updated:

  • config/cable.yml > channel_prefix:
  • config/environments/production.rb > # config.active_job.queue_name_prefix
  • package.json > name

There are sure to be more locations as mentioned previously such as database etc. Hope this helps.

Solution 10 - Ruby on-Rails-3

How to Rename a Rails 6.1.3 Application

the "rename" gem doesn’t appear to be tested against Rails 6 at this time according to their documentation so I opted for the manual route.

  • config/database.yml (rename the 3 databases)
  • config/application.rb (rename the module)
  • package.json (rename the package name)
  • README.md (in case it mentions your old app name)
  • app/views/layouts/application.html.erb (rename the title)
  • config/cable.yml (name the Channel_prefix database to the new production database)
  • Run npm install so that the name attribute you previously updated in package.json is registered.
  • Run your migrations rails db:migrate
  • Start your server rails s

Solution 11 - Ruby on-Rails-3

For Rails 6.1 Here is what I did: rename module config/application.rb run bundle install and run rails db:migrate.

after that running rails c then Rails.application.class.module_parent.name

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionArun Kumar KandasamyView Question on Stackoverflow
Solution 1 - Ruby on-Rails-3DanielView Answer on Stackoverflow
Solution 2 - Ruby on-Rails-3Sushant ManeView Answer on Stackoverflow
Solution 3 - Ruby on-Rails-3HardikView Answer on Stackoverflow
Solution 4 - Ruby on-Rails-3Fabien SaView Answer on Stackoverflow
Solution 5 - Ruby on-Rails-3complisticView Answer on Stackoverflow
Solution 6 - Ruby on-Rails-3Manish ShrivastavaView Answer on Stackoverflow
Solution 7 - Ruby on-Rails-3stevecView Answer on Stackoverflow
Solution 8 - Ruby on-Rails-3ObjectNameDisplayView Answer on Stackoverflow
Solution 9 - Ruby on-Rails-3mirageglobeView Answer on Stackoverflow
Solution 10 - Ruby on-Rails-3random_user_0891View Answer on Stackoverflow
Solution 11 - Ruby on-Rails-3Asme JustView Answer on Stackoverflow