Development Tip

Ruby on Rails 애플리케이션 이름을 변경하는 방법은 무엇입니까?

yourdevel 2021. 1. 6. 20:32
반응형

Ruby on Rails 애플리케이션 이름을 변경하는 방법은 무엇입니까?


다음을 사용하여 만든 Ruby on Rails 애플리케이션이 있습니다.

rails new old_name -d mysql

이제 응용 프로그램 이름을 new_name.

예를 들어 데이터베이스 이름도 변경해야하므로 (에서 old_name_development으로 new_name_development) 응용 프로그램 폴더 이름을 변경하는 것만으로는 충분하지 않습니다 . 자동으로 생성 된 파일에 변경이 필요한 다른 위치가 있는지 궁금합니다.

응용 프로그램 이름을 변경하기위한 내장 명령이 있습니까?


이를위한 Rails 플러그인이 있습니다. 매우 편리합니다.

https://github.com/get/rename


Rails 3에서는 다음 파일에 애플리케이션 이름에 대한 참조가 있습니다.

  • 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 / mongoid.yml (Mongoid를 사용하는 경우)
  • config / routes.rb
  • config.ru
  • 레이크 파일
  • app / views / layouts / application.html.erb, 제목 태그

Rails 3에서 애플리케이션 클래스는 config / application.rb에 정의되어 있으며 환경 파일 (config / environment.rb, config / environments / *. rb) 및 config / routes.rb에서 참조됩니다. 그게 다라고 생각하지만, 놓친 경우 Rails 서버에서 꽤 빨리 찾아야합니다. :)

  • config / application.rb
  • config / enviroment.rb
  • config / environments / *. rb
  • config / routes.rb

즉, 변경을 원하는 매우 구체적인 이유가 없다면 신경 쓰지 않을 것입니다. 다른 방식으로 응용 프로그램에 실제로 영향을 미치지 않습니다.


Rails 3 애플리케이션은 https://github.com/morshedalam/rename을 사용하여 이름을 바꿀 수 있습니다.


다음을 실행하여 Rails (3.0.7) 프로젝트의 루트에서 new_name의 old_name을 바꿉니다.

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

그러나 실행하십시오

fgrep old_name . -iR

또는 대체하지 않아야 할 프로젝트에 old_name의 발생이 없는지 먼저 확인하기 위해 비슷한 것입니다.

편집하다:

물론이를 위해서는 replace 명령을 설치해야합니다.

그리고 앱 이름이 CamelCased라는 점을 고려하여 OldName 대 NewName과 같은 몇 가지 다른 변형을 시도해야 할 수도 있습니다.


레일 4

더하다

gem 'rename'

Gemfile에 다음을 수행하십시오.

bundle install

번들 설치 후

rails g rename:app_to name_of_app

앱 이름과 동일한 이름으로 모델 또는 스캐 폴드를 생성하거나 생성해야 할 때 앱 이름을 변경해야 할 수 있습니다. 나에게 일어난 일입니다. Rails 3.2.13에서 https://github.com/morshedalam/rename사용 했으며 지금까지는 문제가 없습니다.


이를 위해 좋은 오래된 쉘 명령을 사용했습니다.

grep -r old_name * | cut -d: -f1 | xargs sed -i .bak 's/old_name/new_name/g'

This command replace the old_name with new_name in all file it finds the old_name. However, it creates a backup file with the extension '.bak'. Those file can be easily removed once you check everything went well.

The advantage of this, is that it is not 'rails version dependent'.

ReferenceURL : https://stackoverflow.com/questions/4383670/how-to-change-a-ruby-on-rails-application-name

반응형