Как переименовать приложение рельсов 5?

Является ли драгоценный камень rename лучшим способом переименования моего рельса 5?

Кроме того, есть ли какие-либо заметки, которые я должен иметь в виду при переименовании моего приложения?

Ответ 1

Переименовать приложение rails 5 еще проще!

Откройте файл config/application.rb в вашем проекте rails, там вы увидите модуль с тем же именем, что и ваше приложение. Все, что вам нужно сделать, это изменить имя модуля на предпочитаемое имя приложения.

Помимо этого есть некоторые другие ссылки на старое имя приложения, но их изменение не требуется. Посмотрите, например, на config/initializers/session_store.rb, где имя куки сессии все еще использует старое имя приложения. Но старая функция "Найти все" в вашем IDE/редакторе, вероятно, может помочь вам с этими ссылками.

Ответ 2

У меня сработало следующее:

  1. Добавьте gem "rename" в свой Gemfile
  2. bundle
  3. rails g rename:into NEW_NAME

Обратите внимание, что это создаст новую папку с новым именем приложения, переместит все файлы в новую папку и удалит старое приложение. Так что вернитесь, если вам нужно. Измененные файлы:

gsub  Gemfile.lock
gsub  Gemfile
gsub  config.ru
gsub  README.md
gsub  package.json
gsub  Rakefile
gsub  config/puma.rb
gsub  config/environments/production.rb
gsub  config/environments/test.rb
gsub  config/environments/development.rb
gsub  config/routes.rb
gsub  config/initializers/assets.rb
gsub  config/initializers/cookies_serializer.rb
gsub  config/initializers/content_security_policy.rb
gsub  config/initializers/application_controller_renderer.rb
gsub  config/initializers/wrap_parameters.rb
gsub  config/initializers/mime_types.rb
gsub  config/initializers/backtrace_silencers.rb
gsub  config/initializers/filter_parameter_logging.rb
gsub  config/initializers/inflections.rb
gsub  config/application.rb
gsub  config/spring.rb
gsub  config/boot.rb
gsub  config/environment.rb
gsub  config/initializers/session_store.rb

Больше информации здесь: http://www.adamscott.io/blog/2014/01/21/renaming-a-ruby-on-rails-application

Ответ 3

С помощью самых популярных текстовых редакторов и IDE вы можете искать строку во всех файлах проекта. Если вы случайно используете Sublime Text, вы можете сделать это с помощью сочетания клавиш Ctrl + + F или с помощью Find > Find in files, как описано здесь.

Помните, что имя вашего приложения может отображаться в следующих форматах:

  • MyAppName (в application.rb)
  • мое приложение-имя-
  • my_app_name
  • Имя моего приложения (в макетах)

В моем случае для приложения Rails 5.1.6 мне пришлось редактировать следующие файлы:

  • конфиг /application.rb
  • конфиг /cable.yml
  • config/database.yml (если вы хотите изменить имена баз данных)
  • конфигурации/среда /production.rb
  • приложение/просмотров/макеты/application.html.erb
  • package.json
  • app/mailers/* (изменить адреса электронной почты from)
  • config/initializers/devise.rb(config.mailer_sender)

Ответ 4

Подход "найти и заменить" опасен, потому что он может нарушить URL или маршруты.

Вместо этого добавьте gem 'rename' в свой гемфайл и запустите bundle install

Тогда просто:

rails g rename:into your_new_app_name