2010-07-17 4 views

답변

2

그냥 응용 프로그램 디렉토리의 이름을 바꿉니다. 나는 몇 번이나 아무런 문제도 없었다.

8

레일 2에는 실제로 '이름'응용 프로그램 개념이 없습니다. 앱을 식별하는 유일한 것은 폴더 자체의 이름입니다.

레일즈 3에서는 약간 다릅니다. Rails 3 프로젝트는 config/application.rb에 정의 된 모듈과 이름이 같습니다. 이 응용 프로그램 모듈은 응용 프로그램을 저장하는 데 사용되며 config.ru, config/routes.rb, config/environment.rbconfig/environments/에 정의 된 모든 환경에서 참조하는 것을 볼 수 있습니다.

터미널 세션을 열고 명령 rails new myapp을 실행한다면, 당신의 config/application.rb 파일이 레일을 확장하는 응용 프로그램 클래스를 정의 할 것이다 내부의 모듈 Myapp :: 응용 프로그램을 정의하는 것입니다. 다른 모든 파일은 Myapp::Application을 참조합니다.

레일 2와 3에서 모두 config/initializers/session_store.rb에 정의 된 문자열 키를 찾을 수 있습니다. 기본값은 '_ <myapp> _session'입니다. 실수로 세션 키 이름이 다른 응용 프로그램과 충돌하지 않도록 응용 프로그램의 "이름"과 실제로 동기화되지는 않지만 동기화해야합니다.

23

앱의 이름을 바꾸어야하는 파일의 위치 수 (Rails 3.1). 그렇지 않으면 서버를 시작할 수 없습니다.

1) 디렉토리

2) Application.rb 파일에 module (yourapp) 이름 바꾸기를 바꾸기 : 그래서 다음을 수행합니다.

3) 다음 파일에 (yourapp)::Application 이름 바꾸기 :

environment.rb에

routes.rb

config.ru

Rakefile

초기화/secret_token.rb

이니셜 라이저 S/session_store.rb

환경 또한 (yourapp) _development에 config.database.yml.sqlite3에 데이터베이스 이름을 바꿀 수 있습니다

4)/test.rb, production.rb 및 development.rb (yourapp) _test 등.이 경우 데이터베이스를 다시로드해야 할 수도 있습니다. yaml_db gem과 rake db:reload을 사용하여이 작업을 수행했습니다.

그렇게해야합니다.

9

레일즈 3 앱의 이름을 바꾸는데 문제가있었습니다. 나는 그 때 this plugin를 발견했다. 그리고 그것은 매력처럼 작동한다.

+0

정말 고맙습니다. –

+0

+1! 번거 로움없이 멋지게 작동합니다. 레일즈 3을 사용하고 있습니다 : P – uday

28

당신은 그냥 그렇게 다음 스크립트를 작성했습니다

+3

레일즈 3.2.11에서 유용했습니다. –

+3

레일 4에서도 작업했습니다. –

+0

환상적이기 때문에 Rails 4에서도 나에게 도움이되었습니다. 매우 편리한 보석. – emery

1

3 응용 프로그램을 레일에게 이름을 https://github.com/morshedalam/rename를 사용할 수 있습니다. 당신은 https://gist.github.com/danielpclark/8dfcdd7ac63149323bbc

#!/usr/bin/ruby 
# Rename Rails Project (File: rename_rails) 
# Copyright 6ft Dan(TM)/MIT License 
# Check the config/application.rb for capital usage in project name by model OldProjectName 
# Usage: rename_rails OldProjectName NewAwesomeName 

# Replace string instances of project name 
`grep -lR #{ARGV[0]} | xargs sed -i 's/#{ARGV[0]}/#{ARGV[1]}/g'` 
`grep -lR #{ARGV[0].downcase} | xargs sed -i 's/#{ARGV[0].downcase}/#{ARGV[1].downcase}/g'` 

# Rename Rails directory if it exists 
if File.directory?(ARGV[0]) 
    `mv #{ARGV[0]} #{ARGV[1]}` 
    drc = ARGV[1] 
elsif File.directory?(ARGV[0].downcase) 
    `mv #{ARGV[0].downcase} #{ARGV[1]}` 
    drc = ARGV[1] 
end 

# Delete temporary files (helps prevent errors) 
drc ||= '' 
if ['cache','pids','sessions','sockets'].all? { 
     |direc| File.directory?(File.join(drc,'tmp', direc)) } 
    FileUtils.rm_rf(File.join(drc,'tmp')) 
end 

에서 또한 볼 수 있습니다 그리고 YouTube의 하우투 비디오를 만들었습니다. http://youtu.be/dDw2RmczcDA