Jak zmienić nazwę aplikacji rails 4?

rails plugin install git://github.com/get/Rename.git pozwoli nam zmienić nazwę tylko aplikacji rails 3

Czy jest dostępny gem do zmiany nazwy aplikacji Rails 4.

Jeśli nie, zaproponuj mi lepszy sposób zmiany nazwy.

Author: Arun Kumar Kandasamy, 2014-01-08

7 answers

Od rails 4.1.x, Jeśli chcesz zmienić nazwę aplikacji, jedyne dwa pliki, które musisz zmodyfikować to 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

I config/initializers/session_store.rb (opcjonalnie):

# 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

Dla Rails 4.0.x możesz użyć rename gem i wykonaj następujące polecenie:

rails g rename:app_to New-Name

To zaktualizuje niezbędne pliki dla Ciebie:

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'
 133
Author: Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-02 06:24:53

Dodaj

gem 'rename' do Gemfile

Then

bundle install

Potem

rails g rename:app_to name_of_app

A jeśli używasz mongoid to musisz zmienić nazwę bazy danych w config/mongoid.yml

 37
Author: Sushant Mane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-12 13:56:22

Są dwa sposoby:

1 . Ręcznie (Dla Rails 4.1.x)

Musisz ręcznie znaleźć odniesienia do nazwy aplikacji. I musisz je zmienić ręcznie. Oto niektóre popularne miejsca, w których jest używany:

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 . Automatyczne (dla Rails 3 i 4.0.X)

Lub możesz użyć zmienić nazwę gem i wykonać następujące polecenie:

rails g rename:app_to New-Name
 29
Author: Hardik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-05 15:43:38

For Rails 5

Require

  • config/application.rb Zmień nazwę modułu

Opcjonalne

  • config/initializers/session_store.rb (in Rails.podanie.config.session_store) Zmień nazwę sesji
  • app/views/layouts/application.html.erb możesz zmienić <title>...</title>, Jeśli nie jest to jeszcze zrobione
 18
Author: Fabien Sa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-13 10:12:22

Właśnie użyłem tego rename klejnotu w podstawowej aplikacji rails 4:

Https://github.com/morshedalam/rename

Jest to nieco inna wersja get.


Łatwy w użyciu:

Dodaj to do Gemfile:

gem 'rename'

I uruchomić:

rails g rename:app_to NewName


Zaktualizował też rubyminę .idea project settings:)

 16
Author: complistic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-19 04:07:23

W Rails 4.2 wystarczy zmienić plik application config

config/application.rb

I config / initializers / session_store.rb (opcjonalnie):

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

Następnie uruchom ponownie serwer.

To jest to!
 9
Author: Manish Shrivastava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-12 10:13:34

Oto klejnot specjalnie dla Rails 4 https://github.com/negativetwelve/rails-rename (Nie używałem go, ale wydaje się w porządku)

Inne klejnoty wymienione tutaj tylko target Rails 3

 0
Author: ObjectNameDisplay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-10 06:02:53