Как переименовать приложение рельсов 5?
Является ли драгоценный камень rename
лучшим способом переименования моего рельса 5?
Кроме того, есть ли какие-либо заметки, которые я должен иметь в виду при переименовании моего приложения?
Ответы
Ответ 1
Переименовать приложение rails 5 еще проще!
Откройте файл config/application.rb
в вашем проекте rails, там вы увидите модуль с тем же именем, что и ваше приложение. Все, что вам нужно сделать, это изменить имя модуля на предпочитаемое имя приложения.
Помимо этого есть некоторые другие ссылки на старое имя приложения, но их изменение не требуется. Посмотрите, например, на config/initializers/session_store.rb
, где имя куки сессии все еще использует старое имя приложения. Но старая функция "Найти все" в вашем IDE/редакторе, вероятно, может помочь вам с этими ссылками.
Ответ 2
У меня сработало следующее:
- Добавьте
gem "rename"
в свой Gemfile
bundle
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