2014-02-08 4 views

ответ

0

Введите следующие команды

$ rails new ProjectToRename 
$ cd ProjectToRename 
$ grep -ri 'project_?to_?rename' 

Наконец сделано.

Вам нужно переименовать каталог верхнего уровня самостоятельно:

$ cd .. 
$ mv ProjectToRename SomeNewName 
+0

http://stackoverflow.com/questions/3270373/renaming-ruby-on-rails-application проверить эту ссылку также – user3241004

0

Предполагая, что ваше имя приложения является my_app вы можете запустить что-то вроде grep -r 'my_app' . из корня вашего проекта и найти все места, где приложение имя ссылается. Не должно быть так плохо, чтобы обновлять их. Перечень мест должно выглядеть примерно так:

  • конфигурации/application.rb
  • конфигурации/environment.rb
  • конфигурации/среда/development.rb
  • конфигурации/среда/test.rb
  • конфигурации/среда/production.rb
  • конфигурации/инициализаторы/secret_token.rb
  • конфигурации/routes.rb
  • Rakefile
1

Только подумайте вы использовали

rails new blog 

Это создаст приложение блога. Теперь, если вы хотите переименовать блог папки, просто используйте

$mv blog blog_new

Это будет просто переименовать папку и приложение будет работать без каких-либо проблем, как внешние изменения имени папки не будет влиять на применение. Кроме того, вам нужно изменить каждый файл, как указано srt32, но я не вижу каких-либо конкретных причин для изменения имени проекта изнутри.

0

Я написал следующий сценарий, чтобы сделать именно это. Вы можете увидеть также в 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 

И я создал HowTo видео на YouTube. http://youtu.be/dDw2RmczcDA